Android 拒接来电
Android reject incoming call
在我的 android 项目中(目标 sdk 版本为 23),我想拒绝来电。
我知道对此有很多疑问,特别是
1 How to import com.android.internal.telephony.ITelephony to the Android application
2 How to Reject a call programatically in android
3 How to reject any incoming call when I have already detected it
在第一个 link 中,建议的解决方案是在接口 ITelephony
上使用反射,因为它是一个内部接口。但此解决方案使用 MODIFY_PHONE_STATE
权限,该权限只能授予系统应用程序,因此无论如何都行不通。
从第二个和第三个 link 开始,我了解到解决方案是从 here 复制 ITelephony
,然后将其放入我的解决方案中的 com.android.internal.telephony
的新包中。
问题是这个界面有很多关于find of class android.telephony.RadioAccessFamily
的问题(error cannot find symbol class RadioAccessFamily
), class 在 platform framework base of android.
有解决此问题的想法吗?
我自己找到了答案。对于其他感兴趣的人,这里here是:
在主文件夹中创建 aidl 文件夹。
在 aidl 文件夹中创建包 com.android.internal.telephony
在包中创建 aidl 文件:
interface ITelephony {
boolean endCall();
void answerRingingCall();
}
有关结束呼叫的代码请参阅 link 中的答案。
并且不需要添加权限
android.permission.MODIFY_PHONE_STATE
在我的 android 项目中(目标 sdk 版本为 23),我想拒绝来电。 我知道对此有很多疑问,特别是
1 How to import com.android.internal.telephony.ITelephony to the Android application
2 How to Reject a call programatically in android
3 How to reject any incoming call when I have already detected it
在第一个 link 中,建议的解决方案是在接口 ITelephony
上使用反射,因为它是一个内部接口。但此解决方案使用 MODIFY_PHONE_STATE
权限,该权限只能授予系统应用程序,因此无论如何都行不通。
从第二个和第三个 link 开始,我了解到解决方案是从 here 复制 ITelephony
,然后将其放入我的解决方案中的 com.android.internal.telephony
的新包中。
问题是这个界面有很多关于find of class android.telephony.RadioAccessFamily
的问题(error cannot find symbol class RadioAccessFamily
), class 在 platform framework base of android.
有解决此问题的想法吗?
我自己找到了答案。对于其他感兴趣的人,这里here是:
在主文件夹中创建 aidl 文件夹。
在 aidl 文件夹中创建包 com.android.internal.telephony
在包中创建 aidl 文件:
interface ITelephony {
boolean endCall();
void answerRingingCall();
}
有关结束呼叫的代码请参阅 link 中的答案。
并且不需要添加权限
android.permission.MODIFY_PHONE_STATE