因此,正如主题所述,我需要能够在 HTC OneX 上的 Android 4.0.3 中以编程方式接听电话。我已经阅读了几个地方的MODIFY_PHONE_STATE
许可已被谷歌撤销,所以要完成这项任务,你需要解决这个问题。
到目前为止,我已经研究了两种途径:
(1) 关注 Guy 的帖子并使用 BroadcastReceiver
(2) 使用下面的代码尝试通过shell命令点击一个按键事件。
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();
}
我使用它是因为 keyevent 5 是根据 Google 的 KeyEvent.CALL 并且它在 adb 中使用
adb shell input keyevent 5
我的问题是,我做错了什么?因为从逻辑上讲,这两种方法都是有意义的,但它们都不起作用,甚至都不会产生任何类型的运行时错误。
干杯