Я хочу отключить исходящий вызов в ICS.
Моя проблема прежде всего в том, что я не получаю трансляцию в IC` в Gingerbread, она работает нормально и блокирует вызовы, но в ICS это не радиовещание.
для BroadCast Я создал службу и в том, что я получаю BroadCast из PHONE_STATE
в ICS, но когда я пытаюсь отключить вызов, я получаю ошибку
NO such method name 'getITelephony'
в вызове ICS не отключается.
Я использую следующий код для отключения вызова с помощью BroadCast...
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();
}