[Android]Android5.0实现静默接听电话功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Android]Android5.0实现静默接听电话功能相关的知识,希望对你有一定的参考价值。
原因:
android曾经能够通过AIDL进行静默接听。可是5.0以后就被谷歌给屏蔽了。这时候我们仅仅能通过其它方式实现了。
解决方式:
try { Runtime.getRuntime().exec("input keyevent " + Integer.toString(KeyEvent.KEYCODE_HEADSETHOOK)); } catch (IOException e) { // Runtime.exec(String) had an I/O problem, try to fall back 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)); mContext.sendOrderedBroadcast(btnDown, enforcedPerm); mContext.sendOrderedBroadcast(btnUp, enforcedPerm); }
简单说就是发送一个耳机按下接听的事件。欺骗系统。
以上是关于[Android]Android5.0实现静默接听电话功能的主要内容,如果未能解决你的问题,请参考以下文章
细数Android5.0到Android7.X 多媒体技术新特性
android5.0以上对于APP_SWITCH和HOME键的处理