0

件名が述べているように、HTC OneX の Android 4.0.3 でプログラムによって電話に応答できる必要があります。許可が Google によって取り消された場所をいくつか読んだMODIFY_PHONE_STATEので、このタスクを実行するには回避策が必要です。

これまでに次の 2 つの方法を検討しました。

(1) Guy の投稿をフォローし、BroadcastReceiver を使用する

(2) 次のコードを使用して、シェル コマンドを使用してキー イベントを試行します。

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();
    } 

キーイベント5はGoogleによるとKeyEvent.CALLであり、使用してadbで動作するため、これを使用します

adb shell input keyevent 5

私の質問は、私が間違っていることは何ですか? 論理的には、これらの方法は両方とも理にかなっていますが、どちらも機能していないか、何らかの種類の実行時エラーを生成していないためです。

乾杯

4

3 に答える 3

6

何日もの調査の結果、ブロードキャスト レシーバー ルートとルートの両方を使用するとruntime.exec()、Android API を使用して Android 4.0.3 で電話に応答できないことがわかりました。

adbまだ疑問に思っている方のために、私はいくつかの有用な情報を見つけました...コマンドを使用して通話に応答できますadb shell input keyevent 55 は通話ボタンのキーコードであり、Android ではKEYEVENT_CALL

于 2012-11-10T15:58:25.383 に答える
1

ここにいくつかの便利なリンクがあります。それらを確認してください。

  1. 着信に自動応答
  2. プログラムで電話に自動応答する方法
  3. 自動応答
于 2012-10-09T18:22:50.273 に答える