2010-12-28 4 views
2

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

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

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

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

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

ответ

3

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

+0

android: launchMode = "singleTop" также должен работать нормально. было бы невозможно вызвать другие действия из его, если я использую singleInstance. – mishkin

+1

@mishkin: Я собираюсь использовать образец образца дома из SDK, который использует 'singleInstance'. Любопытно, что пусковые установки AOSP используют «singleTask». – CommonsWare

+0

добавление связанного @CommonsWare ответа на информацию о «дополнительных» заданиях: [Android запускает прессу дома в Launcher, чтобы перейти к экрану по умолчанию] (http://stackoverflow.com/a/13203826/383414) –

 Смежные вопросы

  • Нет связанных вопросов^_^