Мотив: Создание приложения KIOSK для устройств 5.0 и 6.0+
Метод следования: adb для запуска команды «dpm set-device-owner».
С помощью startLockTask();
мое приложение успешно вошло в режим авторизованного пин-кода.
У меня была другая проблема, я должен открыть другое мое установленное приложение из приложения KIOSK. Я добился этого, создав массив строковых пакетов и установив для него значение setLockTaskPackages
в DPM. Ниже приведен пример кода
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 setLockTaskPackages
будет поддерживаться с API уровня 21 , который является lollipop 5.0, но я не знаю, что я упустил здесь, чтобы заставить код работать в 5.0.
Спасибо за время и помощь в решении этой проблемы.