动机:为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)
设备上运行不理想,这是我现在要做的挑战。
setLockTaskPackages
的将得到 API级别21 的支持,该级别是lollipop 5.0,但我不知道我在这里错过了什么来使代码在其中工作5.0。
感谢您的时间和帮助来解决此问题。