在Android中阻止呼叫

时间:2014-06-28 17:51:01

标签: java android broadcastreceiver callblocking

我正在尝试开发一个基本代码来阻止Android中的调用。我的代码最初工作但现在不是。

阻止所有通话的代码

    @Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    tm = (TelephonyManager) context
            .getSystemService(Context.TELEPHONY_SERVICE);
    try {
        Class<?> c = Class.forName(tm.getClass().getName());
        Method m = c.getDeclaredMethod("getITelephony");
        m.setAccessible(true);

ITelephony是使用的界面

        telephony = (ITelephony) m.invoke(tm);

无法调用任何可用的功能

        telephony.endCall();
        telephony.notifyAll();
    } catch (Exception e) {
        // TODO: handle exception
    }
}

1 个答案:

答案 0 :(得分:0)

执行此操作时:

m.setAccessible(true);

您实际上是在试图绕过Java安全性。在某些具有旧Android版本的设备上,它可能有效,但在更多锁定的设备上,它无法保证。