Как предотвратить перезапуск пользовательской домашней программы запуска? - PullRequest
4 голосов
/ 28 декабря 2010

Я работаю над собственной заменой домашней пусковой установки, и она работает нормально, но меня беспокоит одна вещь.Когда я нажимаю клавишу home, текущая домашняя активность (та, которая указана в манифесте как main / defualt / launcher / home) перезапускается - выполняется текущая запись экземпляра onpause и снова запускается oncreate, поэтому возникает новая активность.1002 * С другой стороны, ADW launcher и LauncherPRo не ведут себя так - я не обновляю, как в моем случае.Launcher Pro даже может выполнять несколько действий:

  1. Если вы находитесь на главном экране с иконками приложений, он уменьшает масштаб, чтобы увидеть снимок всех экранов,
  2. Если вы открываете ящики нажмите Домой, просто вернитесь к главному экрану.

Есть идеи, как это сделать?

Я только что сделал очень простой прототип с нуля всего одним действием (определенов манифесте как main / defualt / launcher / home), и я вижу то же самое - он воссоздается, если я нажимаю Home.

Ответы [ 2 ]

4 голосов
/ 14 апреля 2015

Добавить

if (!isTaskRoot()) {
    finish();
    return;
}

к onCreate () вашего первого действия (см. Приложение Android перезапускается при открытии, щелкая значок приложения ).

4 голосов
/ 28 декабря 2010

Добавьте android:launchMode="singleInstance" к элементу <activity> в манифесте.

...