【问题标题】:Android - Delay When Answering Calls Programmatically on LollipopAndroid - 在 Lollipop 上以编程方式接听电话时出现延迟
【发布时间】:2015-10-11 22:08:42
【问题描述】:

我正在开发一个可以以编程方式接听电话的应用。我已经阅读了很多关于它的内容,并尝试了很多方法来让它发挥作用。

在 5.0 及更高版本中唯一适合我的真正解决方案如下 -

Runtime.getRuntime().exec("input keyevent " + Integer.toString(KeyEvent.KEYCODE_HEADSETHOOK));

虽然这种方法有效,但实际应答时间会延迟 1.5 到 5 秒。这种延迟是一个真正的交易破坏者,因为我的应用需要拦截所有来电,我不能让它延迟应答过程。

还有其他更快的方法吗?

谢谢

【问题讨论】:

    标签: android android-5.0-lollipop phone-call android-5.1.1-lollipop incoming-call


    【解决方案1】:

    根据另一个答案[1],这取决于使用的超级用户客户端。据说Chainfire's SuperSU[2] 比Superuser 快​​

    [1]Need root to execute shell command "input keyevent <#>" through an app at runtime?

    [2]https://play.google.com/store/apps/details?id=eu.chainfire.supersu

    【讨论】:

      【解决方案2】:

      根据你的情况,如果只有 root 方法适合你,一种方法是让你的后台服务保持 root shell 打开,并在需要时通过管道输入 keyevent 命令。这将节省每次调用进入时进程和 shell 的启动时间。您可以使用诸如 RootShell 之类的库轻松完成此操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-21
        相关资源
        最近更新 更多