Как предотвратить обычную перезагрузку приложения запуска приложения?

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

С другой стороны, ADW launcher и LauncherPRo не ведут себя так: я не обновляюсь, как в моем случае. Launcher Pro даже может выполнять несколько действий:

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

Любые идеи, как это сделать?

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

2 ответа

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


Добавить

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

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

licensed under cc by-sa 3.0 with attribution.