Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法阻止特定号码的传出呼叫_Android_Phone Call_Telephony - Fatal编程技术网

Android 无法阻止特定号码的传出呼叫

Android 无法阻止特定号码的传出呼叫,android,phone-call,telephony,Android,Phone Call,Telephony,我想在我的应用程序中阻止传出呼叫我正在使用以下编码来阻止呼叫 public class MyReceiver extends BroadcastReceiver{ Context context = null; private ITelephony telephonyService; String number; TelephonyManager telephony; String ussd = "*123456"; @Override

我想在我的应用程序中阻止传出呼叫我正在使用以下编码来阻止呼叫

public class MyReceiver extends BroadcastReceiver{

     Context context = null;
     private ITelephony telephonyService;
     String number;
     TelephonyManager telephony;
     String ussd = "*123456";
    @Override
  public void onReceive(Context context, Intent intent) 
  {
     if( intent.getAction().equals( Intent.ACTION_NEW_OUTGOING_CALL ) ) 
     { 
        number = intent.getExtras().getString( Intent.EXTRA_PHONE_NUMBER ); 
        Log.i( "out1", "number: " + number );           
     }
     telephony = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
    try 
    {
         String action = intent.getAction();
         if(number.equals(ussd))
         {
              Class c = Class.forName(telephony.getClass().getName());
              Method m = c.getDeclaredMethod("getITelephony"); 
              m.setAccessible(true);
             com.android.internal.telephony.ITelephony telephonyService  = (ITelephony) m.invoke(telephony);
             telephonyService.silenceRinger();
             telephonyService.endCall();
        }
    } 
    catch (Exception e) 
    {
        e.printStackTrace();
    }

}
}
当有人拨打某个特定的电话号码时,我想阻止通话,例如,我给了*12345。此源代码运行良好,如果我删除
if(number.equals(ussd)),则我能够阻止所有传出呼叫,但我正在尝试特定的号码。请帮助我找出我错在哪里?

你在这里得到了什么Log.i(“out1”,“number:+number”);我正在获取用户拨出的号码我知道您正在获取拨出的号码,但是日志猫中第
Log.i行(“out1”,“number:+number”)中打印的号码是什么