1

我正在尝试开发一个基本代码来阻止 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
    }
}
4

1 回答 1

0

当你这样做时:

m.setAccessible(true);

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

于 2014-06-28T18:08:25.083 回答