Android拒绝来电

在我的android项目中(目标sdk版本23),我想拒绝来电。 我知道有很多问题,特别是

1 如何将com.android.internal.telephony.ITelephony导入Android应用程序

2 如何在android中以编程方式拒绝调用

3 当我检测到来电时,如何拒绝任何来电

在第一个链接中,建议解决方案是在ITelephony接口上使用reflection,因为它是一个内部接口。 但是此解决方案使用MODIFY_PHONE_STATE权限,该权限只能授予系统应用程序,因此无论如何都无法正常工作。

从第二个和第三个链接,我知道解决方案是从这里复制ITelephony然后在我的解决方案中将它放在com.android.internal.telephony的新包中。 问题是在这个界面中有很多关于查找类android.telephony.RadioAccessFamily的问题( 错误找不到符号类RadioAccessFamily ),那个类在android的平台框架基础上 。

有什么想法解决这个问题吗?

我自己找到了答案。 对于其他感兴趣的人,这里是:

在主文件夹中创建aidl文件夹。

在aidl文件夹中创建包com.android.internal.telephony

在包中创建一个aidl文件:

 interface ITelephony { boolean endCall(); void answerRingingCall(); } 

有关结束通话的代码,请参阅链接中的答案。

并且没有必要添加权限

android.permission.MODIFY_PHONE_STATE