我正在尝试在应用程序中使用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();
}
最佳答案
必须添加权限uses-permission android:name =“android.permission.MODIFY_PHONE_STATE”