Android中高版本拦截到骚扰电话自动挂断的实现
2014-08-13 22:57
344 查看
#前言
在安卓低版本中,直接可以通过API的方式来实现,在高版本中,我们不可以直接挂断电话。原因也就不说了,都清楚。#具体实现
在高版本中,我们需要用反射机制,来调用系统底层的电话服务,而我们通过getSystemService方法获得到的只是一个代理类,并不是真正的IBinder对象。如果我们想挂断电话,需要把两个系统的aidl文件复制进我们的工程里面,来进一步绑定服务
android.telephony.NeighboringCellInfo.aidl
com.android.internal.telephony.ITelephony.aidl
把这两个aidl复制进工程,注意包名需要完全一致。
然后可以通过以下主要代码实现
public void endCall() { try { //加载servicemanager的字节码 Class clazz = CallSmsSafeService.class.getClassLoader().loadClass("android.os.ServiceManager"); Method method = clazz.getDeclaredMethod("getService", String.class); IBinder ibinder = (IBinder) method.invoke(null, TELEPHONY_SERVICE); ITelephony.Stub.asInterface(ibinder).endCall(); } catch (Exception e) { e.printStackTrace(); } }
这样就OK了。
相关文章推荐
- 利用Ant 做Android自动化编译实现自动签名, 以及一次生成多个渠道版本.
- 用友盟的自动更新组件实现Android应用版本升级
- android实现系统电话通话过程中自动感应黑屏
- 这篇文章给大家介绍Android开发四大组件之实现电话拦截和电话录音,涉及到android四大基本组件在程序中的应用,对android四大基本组件感兴趣的朋友可以参考下本篇文章
- Android广播接实现电话的监听(电话的状态,拦截)
- Android电话拦截及拦截提示音的实现
- Android广播接实现电话的监听(电话的状态,拦截)
- android项目实现电话自动挂断的功能
- android低版本自动接听/挂断实现
- Android自动接听&挂断电话(包含怎么应对4.1以上版本的权限检
- Android广播接实现监听电话状态(电话的状态,拦截)
- Android 实现自动接听和挂断电话功能
- Android 一步一步实现版本自动更新(第一步 解析是否需要更新)
- 实现android应用版本自动更新
- Android 电话的反射调用机制实现自动接听电话
- Android实战—实现自动读取通讯录和通话记录切换,ViewPage滑屏效果,可拨打电话
- [应用代码] android 自动接听电话和挂断 (适合目前所有版本)
- 4.1版本以后,利用耳机按键广播实现自动接听电话
- Android编程实现自动检测版本及自动升级的方法
- Android开发四大组件之实现电话拦截和电话录音