android-实现黑名单拦截

Android没有对外公开结束通话的API,如果需要结束通话,必须使用AIDL与电话管理服务进行通信,并调用服务中的API实现结束通话,方法如下:

1> Android的源代码中拷贝以下文件到项目中:

com.android.internal.telephony包下的ITelephony.aidl

android.telephony包下的NeighboringCellInfo.aidl

注意:需要在项目中建立对应的包名存放上述两个aidl文件,

如右图所示。开发工具会在gen目录下自动生成ITelephony.java

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> 在清单文件AndroidManifest.xml中添加权限:




你可能感兴趣的:(android基础)