挂断电话并清除通讯录中的记录
来源:互联网 发布:潘任美事件公知 编辑:程序博客网 时间:2024/04/27 15:42
1、创建android.telephony包,把NeighboringCellInfo.aidl复制进去。
2、创建com.android.internal.telephony包,把ITelephony.aidl复制进去。
位置如图:
3、挂断电话核心方法(利用反射)
/** * 挂断电话 */protected void endCall() { //tm.endCall(); 1.5版本后,把该方法阉割掉了 //想用该功能,实现方法 //ServiceManager.getService(); //反射调用 //1.class try { Class clazz = Class.forName("android.os.ServiceManager"); //2. method Method method = clazz.getDeclaredMethod("getService", String.class); //3.obj 不需要 静态方法(静态方法用类名调用,不需要实例化对象) //4. 调用 IBinder binder = (IBinder) method.invoke(null, Context.TELEPHONY_SERVICE); //5.aidl ITelephony iTelephony = ITelephony.Stub.asInterface(binder); iTelephony.endCall();//挂断电话 } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); }}
4、清除通讯录中被endCall()方法挂断的电话号码(因为记录未接电话的时间不确定,所以利用内容观察者)
//挂断电话之前先注册内容观察者getContentResolver().registerContentObserver(Uri.parse("content://call_log/calls"), true, new ContentObserver(new Handler()) { @Override public void onChange(boolean selfChange) { //电话日志变化 触发此方法调用 deleteCalllog(incomingNumber);//删除电话日志 //取消内容观察者注册 getContentResolver().unregisterContentObserver(this); super.onChange(selfChange); }});endCall();
aidl下载地址:http://download.csdn.net/detail/csdn_lqr/9492569
0 0
- 挂断电话并清除通讯录中的记录
- 黑名单挂断电话及删除电话记录
- 挂断电话
- 挂断电话
- 挂断电话
- 挂断电话
- TelephoneManager学习之二,添加黑名单并自动挂断电话
- android 获取短信 通讯录 电话记录
- 来电时挂断电话
- Android 挂断电话流程
- android_ITelephony_endCall_挂断电话
- android_ITelephony_endCall_挂断电话
- Android 挂断电话流程
- Android 挂断电话流程
- 使用AIDL挂断电话
- 采用aidl挂断电话
- android_ITelephony_endCall_挂断电话 .
- 转:自动挂断电话
- MAC openfire 无法启动
- 4. PHP变量的类型(一)
- 大数相乘 小小优化版本
- 信号量与锁的差别
- BP神经网络的简单实现
- 挂断电话并清除通讯录中的记录
- 实验室相关--实现相机程序自动检测和运行功能
- Unity中HideInInspector和SerializeField
- 【Android】【线程】synchronized、wait、notify、notifyAll
- KNN与KD-tree
- nefu500(二分,最大流)
- 【USACO题库】3.2.3 Spinning Wheels纺车的轮子
- 89. Gray Code
- 欢迎使用CSDN-markdown编辑器