挂断电话并清除通讯录中的记录
发布日期:2021-06-30 18:39:24
浏览次数:3
分类:技术文章
本文共 1917 字,大约阅读时间需要 6 分钟。
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下载地址:
转载地址:https://linqiarui.blog.csdn.net/article/details/51164271 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月17日 15时43分40秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MATLAB与CUDA
2019-04-30
Linux png转jpg (convert命令)
2019-04-30
NAS (Network Attached Storage 网络附属存储)
2019-04-30
Ubuntu更新后终端中字体的颜色全是白色
2019-04-30
vscode git
2019-04-30
基于MATLAB的二进制数字调制与解调信号的仿真——2FSK
2019-04-30
基于MATLAB的二进制数字调制与解调信号的仿真——2PSK
2019-04-30
基于MATLAB的模拟调制信号与解调的仿真——AM
2019-04-30
基于MATLAB的模拟调制信号与解调的仿真——DSB
2019-04-30
基于MATLAB的模拟调制信号与解调的仿真——SSB
2019-04-30
操作系统实验之生产者和消费者程序
2019-04-30
操作系统实验之猴子过桥问题的模拟程序
2019-04-30
POJ - 3067 Japan (树状数组 思维)
2019-04-30
POJ - 2352 Stars (树状数组 入门题)
2019-04-30
HDU - 1166 敌兵布阵 (树状数组模板题/线段树模板题)
2019-04-30
CodeForces - 761C Dasha and Password (思维 暴力)
2019-04-30
POJ - 2481 Cows (树状数组 入门题)
2019-04-30
ACM-ICPC 2018 焦作赛区网络预赛 I. Save the Room
2019-04-30