Android 黑名单的拦截

2014-11-24 08:07:57 · 作者: · 浏览: 2

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中添加权限: