调用Android隐藏类(系统aidl文件)
2014-08-22 11:43
218 查看
Android没有对外公开结束通话的API,如果需要结束通话,必须使用AIDL与电话管理服务进行通信,并调用服务中的API实现结束通话,方法如下:
1> 从Android的源代码中拷贝以下文件到项目中:
com.android.internal.telephony包下的ITelephony.aidl (对应 Android 版本源码目录下\base\telephony\java\com\android\internal\telephony目录下)
android.telephony包下的NeighboringCellInfo.aidl
注意:需要在项目中建立对应的包名存放上述两个aidl文件,
2>调用ITelephony.endCall()结束通话:
Method method =Class.forName("android.os.ServiceManager").getMethod("getService",String.class);
IBinder binder = (IBinder)method.invoke(null,new Object[]{TELEPHONY_SERVICE});
ITelephony telephony =ITelephony.Stub.asInterface(binder);
telephony.endCall();
3> 以上只是ITelephony的用法之一。可应用于实现电话的黑名单功能 -- 监听电话来电状态,判断其若是黑名单号码,即用上面所示当时挂断电话。
另外还有其它很多实用的方法,例如,其 call方法可以直接拨打出电话,获取电话呼叫状态等方法,本人并没有深入研究。
在清单文件AndroidManifest.xml中添加权限:
<uses-permissionandroid:name="android.permission.CALL_PHONE"/>
1> 从Android的源代码中拷贝以下文件到项目中:
com.android.internal.telephony包下的ITelephony.aidl (对应 Android 版本源码目录下\base\telephony\java\com\android\internal\telephony目录下)
android.telephony包下的NeighboringCellInfo.aidl
注意:需要在项目中建立对应的包名存放上述两个aidl文件,
2>调用ITelephony.endCall()结束通话:
Method method =Class.forName("android.os.ServiceManager").getMethod("getService",String.class);
IBinder binder = (IBinder)method.invoke(null,new Object[]{TELEPHONY_SERVICE});
ITelephony telephony =ITelephony.Stub.asInterface(binder);
telephony.endCall();
3> 以上只是ITelephony的用法之一。可应用于实现电话的黑名单功能 -- 监听电话来电状态,判断其若是黑名单号码,即用上面所示当时挂断电话。
另外还有其它很多实用的方法,例如,其 call方法可以直接拨打出电话,获取电话呼叫状态等方法,本人并没有深入研究。
在清单文件AndroidManifest.xml中添加权限:
<uses-permissionandroid:name="android.permission.CALL_PHONE"/>
相关文章推荐
- [转载]调用Android隐藏类(系统aidl文件)
- 调用Android隐藏类(系统aidl文件)
- Android开发工具之Android Studio--调用系统隐藏方法之操作aidl文件步骤
- android如何调用显示和隐藏系统默认的输入法
- Android中调用系统所装得软件打开文件
- Android中调用系统所装的软件打开文件
- Android调用系统内部的下载程序下载文件(一)
- android如何调用显示和隐藏系统默认的输入法
- Android调用系统内部的下载程序下载文件(一)
- Android调用系统内部的下载程序下载文件
- Android调用系统内部的下载程序下载文件(二)
- Android中调用系统所装的软件打开文件
- android如何调用显示和隐藏系统默认的输入法
- <转载>Android中调用系统所装的软件打开文件
- android-实现仿系统search框的autoCompleteTextView----如何调用系统的隐藏方法
- android如何调用显示和隐藏系统默认的输入法
- android如何调用显示和隐藏系统默认的输入法
- Android中调用系统所装的软件打开文件
- Android调用系统内部的下载程序下载文件(二)
- Android 系统中隐藏文件或文件夹的方法