我正在尝试在我的应用程序中使用 ITelephony.aidl。使用这个我想接听来电。我设法使用 endcall() 并且效果很好。但是当我尝试使用 answerringingcall() 时,它会抛出错误并说需要 MODIFY_PHONE_STATE,但不能使用,因为它仅适用于系统应用程序。
那么有什么方法可以在 android 2.3 及更高版本上进行这项工作吗?或者有没有其他方法可以接听电话?
提前致谢:)
这是我的代码。
`
public void callAnswer(){
try {
Class c = Class.forName(telephony.getClass().getName());
Method m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
telephonyService = (ITelephony) m.invoke(telephony);
telephonyService.answerRingingCall();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}`
这是我的 ITelephony.aidl 文件
package com.android.internal.telephony;
interface ITelephony {
boolean endCall();
void answerRingingCall();
}