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. methodMethod 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 blocke.printStackTrace();} catch (NoSuchMethodException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalArgumentException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (InvocationTargetException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (RemoteException e) {// TODO Auto-generated catch blocke.printStackTrace();}
}

4、清除通讯录中被endCall()方法挂断的电话号码(因为记录未接电话的时间不确定,所以利用内容观察者)

//挂断电话之前先注册内容观察者
getContentResolver().registerContentObserver(Uri.parse("content://call_log/calls"), true,new ContentObserver(new Handler()) {@Overridepublic void onChange(boolean selfChange) {//电话日志变化 触发此方法调用deleteCalllog(incomingNumber);//删除电话日志//取消内容观察者注册getContentResolver().unregisterContentObserver(this);super.onChange(selfChange);}});
endCall();

aidl下载地址:http://download.csdn.net/detail/csdn_lqr/9492569

挂断电话并清除通讯录中的记录相关推荐

  1. Android 5.1 Phone 挂断电话流程分析

    写在前面的话 本文主要分析Android挂断电话的流程,研究的代码是Android 5.1的,以CDMA为例,GSM同理. 挂断电话主要分两种情况: 本地主动挂断电话 \color{red}{本地主动 ...

  2. 安卓隐藏摄像_【快讯:诺基亚发布三款安卓机;全面屏手机的最终形态,目标是去掉摄像头;iPhone 打电话不息屏或挂断电话后不亮屏是什么问题?】...

    资讯一 [诺基亚发布三款安卓新机:带来了可拆后盖设计] 2月25日,诺基亚在MWC 2019正式召开发布会,发布了诺基亚4.2.诺基亚3.2.诺基亚1 Plus三款全新安卓机型. 其中诺基亚4.2是三 ...

  3. 黑名单挂断电话及删除电话记录

    黑名单挂断电话及删除电话记录 挂断电话 挂断电话需要申请权限android.permission.CALL_PHONE 对于黑名单号码的来电如何挂断,由于监听来电时在TelephonyManager中 ...

  4. 米2距离感应器的设置问题。无法挂断电话等问题的解决

    通话过程中一直黑屏,无法挂断电话 首先打开拨号界面,点击三道杠的菜单键--设置--来电时状态设置--启用距离感应器(打开 ︳),来电防误操作 直接关闭得了.

  5. Android挂断电话流程

    近期在友盟上看到许多关于挂断电话导致崩溃的问题,如下异常 java.lang.NoSuchMethodError: No interface method endCall()Z in class Lc ...

  6. Android挂断电话以及Java Class Loader

    Android中,要自己实现一个挂断电话方法时,很久之前可以endCall().不过现在已经不行了,要应用反射机制,获取到 "android.os.ServiceManager" ...

  7. Android自动接听和挂断电话实现原理

    转自:http://bbs.51cto.com/thread-1078059-1.html 一  前言 这两天要研究类似白名单黑名单以及手势自动接听的一些功能,所以呢,自然而然的涉及到怎么自动接听/挂 ...

  8. 安卓骚扰拦截挂断电话时候的操作

    挂断电话时候需要执行的操作 由于在开发的时候谷歌自己屏蔽了api,所以需要自己找到其api再编写出来. 清单文件添加以下内容 <uses-permissionandroid:name=" ...

  9. Android通过AIDL实现接听电话、挂断电话操作 | 拨打电话

    Android中拨打电话功能是很轻松的只需要几行代码即可,如下: 首先还是得加上权限这个东西(或者动态申请) <!--拨打电话--> <uses-permission android ...

最新文章

  1. 基于DSP/BIOS和NDK的嵌入式网络操作系统设计方案
  2. 5.Xilinx RapidIO核例子工程源码分析
  3. Ucloud 文件上传
  4. 获取ISAPI_Rewrite重写后的URL
  5. 比较好的处理事情的方法
  6. 如果波音公司破产,对美国经济的影响有多大?
  7. Sum of Paths CodeForces - 1467D
  8. JUnit 5中的测试执行顺序
  9. 有用户访问我的计算机,事件查看器有个奇怪用户账号登录HOME-W81$,我的电脑没有这个用户账号,本机是win8.1ʌ - Microsoft Community...
  10. 计算机编辑文档教程,腾讯TIM在线文档编辑功能使用方法教程
  11. K核苷酸频率(KNF,k-nucleotide frequencies)或K-mer频率
  12. tnl 的 masterServer, client server 架构学习笔记
  13. python激光扫描雷达_一文详解固态激光雷达的里程计(loam_livox)
  14. 崩坏3服务器维护2月8号,崩坏3影骑士月轮将在2月8日更新后正式登场
  15. C Primer Plus(6) 中文版 第3章 数据和C 3.4 C语言基本数据类型
  16. Windows 更新安装错误 - 0x80070643
  17. jvm中关于slot的理解
  18. C语言 12个球称3次 找出其中一个坏球
  19. dumpsys用法简介
  20. 串口转TCP/IP方案选型

热门文章

  1. 辛巴投资翻车,投资的A股st起步公司浮亏超7000万,打算清空
  2. 微信小程序页面跳转方法总结,面试必备
  3. API文档之团队协作
  4. 什么软件可以把图片转换成表格?这三款能够帮助到你
  5. 熵、信息熵、互信息、条件熵区别
  6. mysql 一周签到表_mysql签到表怎么设计找
  7. 微信小程序动态修改头部title
  8. Java -- 日期对象转字符串、字符串转日期
  9. SOCK5代理服务器配置
  10. linux下如何压缩文件夹加密,linux下的文件/文件夹压缩加密方法