在扩展 BroadcastReceiver 的 Receiver 类中调用此方法来取消传入调用。编译时代码中没有错误,但调用此方法时会引发异常。
异常
空对象引用上的 java.lang 异常 android.content.context.getsystemservice(java.lang.string)'
代码
private void disconnectPhoneItelephony(Context context)
{
ITelephony telephonyService;
TelephonyManager telephony = (TelephonyManager)
context.getSystemService(Context.TELEPHONY_SERVICE);
try
{
Class c = Class.forName(telephony.getClass().getName());
Method m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
telephonyService = (ITelephony) m.invoke(telephony);
telephonyService.endCall();
}
catch (Exception e)
{
e.printStackTrace();
}
}
最佳答案
确保将 Context
正确转发到您的方法。似乎上下文在 public abstract void onReceive (Context context, Intent Intent)
要正确回答此问题,请显示整个类并确保使用正确的 Context
实例调用 disconnectPhoneItelephony()
。
关于java - Android 无法阻止来电,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43549974/