如何从 Android 中的单个应用程序启动自助服务终端应用程序
Posted
技术标签:
【中文标题】如何从 Android 中的单个应用程序启动自助服务终端应用程序【英文标题】:How to launch kiosk app from single app in Android 【发布时间】:2021-07-15 06:45:11 【问题描述】:我有一台运行单个应用程序的 android 设备。此应用程序在启动时启动,并且是用户唯一可以看到的应用程序。
但是一旦这个应用程序运行,我希望能够通过单击这个“启动”应用程序上的按钮来启动另一个应用程序,这样第二个应用程序在“信息亭”模式下启动,以便用户在某些操作完成之前,无法返回、无法回家、无法收到任何通知等。
为此,我正在尝试按照 Google 文档了解锁定模式 here。
但我不清楚,当它告诉“DPC 必须允许应用程序...”时,此代码应放置在初始应用程序(启动时的应用程序)中,或者用于我想在 kiosk 模式下运行的应用程序?.
希望能提供更详细的信息。
它告诉的部分:
// Set an option to turn on lock task mode when starting the activity.
val options = ActivityOptions.makeBasic()
options.setLockTaskEnabled(true)
// Start our kiosk app's main activity with our lock task mode option.
val packageManager = context.packageManager
val launchIntent = packageManager.getLaunchIntentForPackage(KIOSK_PACKAGE)
if (launchIntent != null)
context.startActivity(launchIntent, options.toBundle())
我认为这确实是放在“启动”应用程序上。
【问题讨论】:
在哪里可以找到启动应用程序? 【参考方案1】:是的,该部分将驻留在您的启动应用程序中,这应该适合您,但您也可以将第二个应用程序包名添加到
DevicePolicyManager.setLockTaskPackages()
如果您不想尝试如下所示的方法:
private val YOUR_BOOT_APP_PACKAGE_NAME = "your.boot.app.packagename"
private val YOUR_SECOND_APP_PACKAGE_NAME = "your.second.app.packagename"
private val APP_PACKAGES = arrayOf(YOUR_BOOT_APP_PACKAGE_NAME, YOUR_SECOND_APP_PACKAGE_NAME)
mDevicePolicyManager.setLockTaskPackages(mAdminComponentName, APP_PACKAGES)
【讨论】:
以上是关于如何从 Android 中的单个应用程序启动自助服务终端应用程序的主要内容,如果未能解决你的问题,请参考以下文章
基于安卓的自助求助系统急救呼叫app(android毕业设计)
如何从android中的单个查询中获取联系人的名字,姓氏,电子邮件ID