我想断开 ICS 中的拨出电话。
我的问题首先是我没有在 Gingerbread 的 IC 中进行广播,它工作正常并阻止了呼叫,但在 ICS 中它不是广播。
对于广播,我创建了一项服务,并且我PHONE_STATE
也在 ICS 中获得广播,但是当我尝试断开呼叫时,我收到错误
NO such method name 'getITelephony'
在 ICS 通话中没有断开连接。
我正在使用以下代码使用广播断开呼叫...
try{
TelephonyManager manager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
Class c = Class.forName(manager.getClass().getName());
Method m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
ITelephony telephony = (ITelephony)m.invoke(manager);
telephony.endCall();
} catch(Exception e){
Log.d("",e.getMessage());
}
PhonecallStateBroadcastReceiver.java
与包名package com.android.internal.telephony;
ITelephony.aidl
interface ITelephony
{
boolean endCall();
void answerRingingCall();
void silenceRinger();
}