Motive:为 5.0 和 6.0+ 设备构建 KIOSK 应用程序
方法如下: adb 运行“dpm set-device-owner”命令。
通过使用startLockTask();
我的应用程序成功进入授权密码模式。
我还有其他挑战,我必须从 KIOSK 应用程序打开其他已安装的应用程序。我通过构造字符串包数组并将其设置为 DPM 来实现这一点,setLockTaskPackages
下面是代码示例
mDevicePolicyManager.setLockTaskPackages(mAdminComponentName, getKioskApps());
private String[] getKioskApps() {
return (new String[]{getPackageName(),
"com.test.sampleappone",
"com.test.sampleapptwo"});
}
在设备上使用上面的代码,6.0 +
我可以成功导航安装在我的设备中的sampleAppOne (com.test.sampleappone)
和sampleAppTwo ,下面是导航代码。 (com.test.sampleapptwo)
private void openSampleAppOne() {
Intent intentInv = new Intent();
intentInv.setComponent(new ComponentName("com.test.sampleappone", "com.test.sampleappone.MainActivity"));
intentInv.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intentInv);
}
上面的代码在设备中运行完美,6.0 (marshmallow) & 7.0 (Nougat)
但在5.0 (lollipop)
设备中运行良好,这是我现在要做的挑战。
根据android 文档, API 级别 21setLockTaskPackages
将支持棒棒糖 5.0,但我不知道我在这里错过了什么以使代码在 5.0 中工作。
感谢您花时间和帮助解决这个问题。