Открыть другое приложение в режиме startLockTask с помощью setLockTaskPackages () params массив строк в Android 5.0 (Lollipop) не работает - PullRequest
0 голосов
/ 05 июля 2018

Мотив: Создание приложения 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.

Спасибо за время и помощь в решении этой проблемы.

...