我正在开发一个检测并接听来电的Android应用程序。 我使用以下代码行来接听电话
Runtime.getRuntime().exec("input keyevent " + KeyEvent.KEYCODE_HEADSETHOOK);
这在我测试的所有手机上都能正常工作,但在Xperia Z4上,只有在我的应用程序处于前台时才能正常工作。
根据我的应用程序日志,应用程序不会在后台暂停,其他所有内容都可以接受adb命令。
这款手机可能会有某种额外的安全措施。有没有人知道解决方法?
PS:我在Xperia Z3上测试应用程序,它运行正常。
编辑1: 我检查了android系统日志,发现它是一个权限问题。 我得到了以下日志:
05-18 12:41:56.557 E / AndroidRuntime(20059):***系统进程中的致命异常:主要 05-18 12:41:56.557 E / AndroidRuntime(20059):java.lang.SecurityException:注入另一个应用程序需要INJECT_EVENTS权限。
我在清单文件中添加了此权限,但它仍然无效。任何帮助都非常感谢。