Wie kann ich einen Anruf in Android 4.0.3 programmgesteuert beantworten?

Wie im Betreff angegeben, muss ich in der Lage sein, einen Anruf in Android 4.0.3 auf einem HTC OneX programmgesteuert zu beantworten. Ich habe an mehreren Stellen gelesen, dass dieMODIFY_PHONE_STATE Die Erlaubnis wurde von Google widerrufen. Um diese Aufgabe ausführen zu können, müssen Sie einen Workaround durchführen.

Ich habe bisher zwei Wege untersucht:

(1) Nach dem Posten von GuyHier und mit einem BroadcastReceiver

(2) Verwenden Sie den folgenden Code, um zu versuchen, ein Schlüsselereignis über einen Shell-Befehl zu treffen.

final Runtime r = Runtime.getRuntime();
    try {
        Process process = r.exec("input keyevent 5");
        InputStream stream = process.getErrorStream();
        log.v("Process Error Stream: " +stream.toString());
        log.v("Sending shell command to Answer Call");
    } catch (Exception e) {
        log.v("Stack Trace: " + e.getStackTrace().toString());
        e.printStackTrace();
    } 

Ich benutze dies, weil keyevent 5 laut Google KeyEvent.CALL ist und es in adb funktioniert

adb shell input keyevent 5

Meine Frage ist, was mache ich falsch? Weil logischerweise beide Methoden sinnvoll sind, aber weder funktionieren noch Laufzeitfehler generieren.

Prost

Antworten auf die Frage(3)

Ihre Antwort auf die Frage