gpt4 book ai didi

android - 如何在 marshmallow 及更高版本的 android 中以编程方式接听来电?(安全补丁更新日期 1/09/16 以上)

转载 作者:行者123 更新时间:2023-11-29 02:41:30 26 4
gpt4 key购买 nike

大家好,我正在制作一个安卓应用程序来通过我的应用程序接听所有来电我已经为 lolipop 及以下做得很好,但也想为 marshmallow 及以上做,我做了很多研发但没有找到任何满意的解决方案,所以我自己问

以下代码不适用于 marshmallow 及以上版本。这段代码一直有效到 Lolipop。

  private void acceptCall_n() {

// for HTC devices we need to broadcast a connected headset
boolean broadcastConnected = MANUFACTURER_HTC.equalsIgnoreCase(Build.MANUFACTURER)
&& !audioManager.isWiredHeadsetOn();



if (broadcastConnected) {
broadcastHeadsetConnected(false);
}

try {

try {
// logger.debug("execute input keycode headset hook");
Runtime.getRuntime().exec("input keyevent " +
Integer.toString(KeyEvent.KEYCODE_HEADSETHOOK));


} catch (IOException e) {

Log.e("Call Exception ",e.toString());
HelperMethods.showToastS(getBaseContext(),"Call Exception one "+e.toString());
// Runtime.exec(String) had an I/O problem, try to fall back
// logger.debug("send keycode headset hook intents");
String enforcedPerm = "android.permission.CALL_PRIVILEGED";
Intent btnDown = new Intent(Intent.ACTION_MEDIA_BUTTON).putExtra(
Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN,
KeyEvent.KEYCODE_HEADSETHOOK));
Intent btnUp = new Intent(Intent.ACTION_MEDIA_BUTTON).putExtra(
Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_UP,
KeyEvent.KEYCODE_HEADSETHOOK));

sendOrderedBroadcast(btnDown, enforcedPerm);
sendOrderedBroadcast(btnUp, enforcedPerm);
}
}catch (Exception e){
e.printStackTrace();
Log.e("Call Exception two",e.toString());
HelperMethods.showToastS(getBaseContext(),"Call Exception two "+e.toString());
}finally {
if (broadcastConnected) {
broadcastHeadsetConnected(false);
}
}
}

最佳答案

我遇到了同样的问题。根本原因是 SELinux 规则不允许执行命令。尝试使用 this解决方案。我已经在 Android Marshmallow 上对其进行了测试,它可以正常工作。

关于android - 如何在 marshmallow 及更高版本的 android 中以编程方式接听来电?(安全补丁更新日期 1/09/16 以上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43719825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com