没有这样的方法getITelephony断开Call

Dev*_*per 11 android broadcastreceiver android-4.0-ice-cream-sandwich

我想断开ICS的拨出电话.

我的问题首先是我没有在姜饼中获得IC中的广播它工作正常并且阻止了呼叫但是在ICS中它不是广播.

对于BroadCast我创建了一个服务,并且我PHONE_STATE在ICS中也获得了BroadCast,但当我尝试断开呼叫时,我收到了错误

NO such method name 'getITelephony'
Run Code Online (Sandbox Code Playgroud)

在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());
  }
Run Code Online (Sandbox Code Playgroud)

AndroidMaifest.xml

PhonecallStateBroadcastReceiver.java

与packgename package com.android.internal.telephony;

ITelephony.aidl

interface ITelephony 
{
    boolean endCall();
    void answerRingingCall();
    void silenceRinger();
}
Run Code Online (Sandbox Code Playgroud)

San*_*r V 1

使用反射来访问“getITelephony”在 Android 2.3+ 中不起作用

参考:

http://hive-mind.org/android-call-blocking

如何以编程方式结束 2.3+ 上的通话?