码迷,mamicode.com
首页 > 移动开发 > 详细

[Android]Android5.0实现静默接听电话功能

时间:2017-06-05 22:04:00      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:cal   problem   run   dbr   ssi   .exe   exe   event   put   

原因:

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实现静默接听电话功能

标签:cal   problem   run   dbr   ssi   .exe   exe   event   put   

原文地址:http://www.cnblogs.com/tlnshuju/p/6947087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!