【发布时间】:2017-01-23 12:29:14
【问题描述】:
TL;DR 使用Activity.startLockTask()时如何拨打电话?
我正在尝试在 Android 设备上设置受限环境,即通常称为“Kiosk 模式”的环境。
官方文档可以在这里找到: https://developer.android.com/work/cosu.html
官方建议使用Activity.startLockTask。
在您想从处于startLockTask() 模式的Activity 中启动其他应用程序之前,这可以正常工作。
任何启动的活动都不得在新的任务堆栈上启动,否则系统会阻止启动意图,即没有Intent.FLAG_ACTIVITY_NEW_TASK。
一些应用程序可以直接启动,其他应用程序似乎隐式设置了这个标志,但可以通过使用startActivityForResult(...) 来解决,这似乎删除了NEW_TASK 标志。对于仍然无法运行的应用,我可以编写自己的替代代码。
真正的问题是调用应用程序,它强制执行新的任务堆栈。触发呼叫发起呼叫,不会显示呼叫活动,但还会在状态栏中放置呼叫通知(使用startLockTask() 时无法访问。
与其他应用程序相比,通话应用程序也是无法用自定义应用程序替换的应用程序...
【问题讨论】:
-
我遇到了同样的问题。我需要一种在信息亭模式下拨打/拨打电话的方法,但无法完成这项工作。你找到解决办法了吗?
-
我们也面临同样的问题。我们已经处理了拨出电话,但对于来电,它没有显示来电活动
-
解决了吗?
标签: android android-intent kiosk kiosk-mode cosu