无法阻止Android中的来电

时间:2017-04-21 18:49:11

标签: java android

在我的Receiver类中调用此方法,扩展BroadcastReceiver以取消传入的调用。在编译时代码中没有错误,但是当调用此方法时,抛出异常。

异常

空对象引用上的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();
    }
}

1 个答案:

答案 0 :(得分:1)

确保将Context正确转发到您的方法。在public abstract void onReceive (Context context, Intent intent)

期间,上下文似乎以某种方式丢失了

要正确回答此问题,请展示整个班级,并确保使用正确的disconnectPhoneItelephony()实例调用Context