Пользовательская программа запуска Android, которая запускает программу запуска по умолчанию

В качестве своего первого приложения для Android я программирую киоск для работы. Это приложение настроено как средство запуска по умолчанию и в полноэкранном режиме, поэтому при загрузке планшета киоск уже запущен, и пользователь не может открывать другие приложения или выйти из приложения киоска.

Последнее, что я не могу кодировать, - это возможность переключиться с моего киоска / лаунчера на пусковую установку Android по умолчанию. Я подготовил ввод пароля: если пароль правильный, я хочу запустить Launcher.

Вот что у меня есть на данный момент:

if (message.equals("password")) {
    Intent intent = new Intent("android.intent.action.MAIN");
    intent.addCategory("android.intent.category.HOME");
    startActivity(Intent.createChooser(intent, "Scegli:"));
}

Я пробовал это приложение только в эмуляторе Android Studio, где программа запуска по умолчанию - это Android Launcher: с этими инструкциями приложение просто запускает Android Launcher по умолчанию. Итак, я полагаю, что на планшете, несмотря на createChooser, я достигаю только панели запуска по умолчанию, которая будет моим киоском.


person user2543203    schedule 03.02.2014    source источник
comment
См. Этот вопрос: stackoverflow.com/questions / 12594192 / Идея состоит в том, чтобы заставить Android забыть, что вы - пусковая установка по умолчанию.   -  person njzk2    schedule 03.02.2014


Ответы (2)


Попробуйте установить свое намерение следующим образом:

intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
person minipif    schedule 03.02.2014
comment
прочтите документацию по CATEGORY_LAUNCHER и CATEGORG_HOME. - person njzk2; 03.02.2014

Это решение OP, перенесенное сюда из тела вопроса

if (message.equals("password")) {
    getPackageManager().clearPackagePreferredActivities(getPackageName());
    final Intent intent = new Intent();
    intent.setAction(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    startActivity(intent);
}
person Community    schedule 04.12.2015