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 に答える