如何在Android中从单个应用程序启动kiosk应用程序



我有一台运行单个应用程序的Android设备。该应用程序在启动时启动,是用户唯一能够看到的应用程序。

但一旦这个应用程序运行,我希望能够通过点击这个"上的按钮来启动另一个应用程序;靴子";在某种程度上,第二个应用程序是在";售货亭";模式,这样用户就不能回去,不能回家,不能得到任何通知,等等,直到某个操作完成。

为此,我试图遵循谷歌文档中的锁定模式。

但我不清楚,当它告诉;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())
}

我认为这确实应该放在";靴子";应用程序。

是的,该部分将驻留在您的引导应用程序中,它应该对您有效,但您也可以将第二个应用程序包名添加到中

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)

最新更新