Android: необычный способ начать деятельность - PullRequest
0 голосов
/ 23 февраля 2011

В одном упражнении мне нужно запустить другое, но с одним условием: если оно было запущено раньше, то оно должно быть завершено и запущено снова.Это действие показывает некоторую информацию о состоянии системы (стиль Theme.Dialog), оно также может запускать некоторые службы и так далее.Насколько я знаю, когда я делаю startActivity (намерение), тогда будет вызываться onResume () (если действие было начато раньше).Кто-нибудь знает, как это сделать?

Ответы [ 4 ]

2 голосов
/ 23 февраля 2011

используйте флаг NEW_TASK_LAUNCH в вызове startActivity ().Прочитать документацию http://developer.android.com/guide/appendix/faq/framework.html#4

2 голосов
/ 23 февраля 2011

В файле манифеста, в атрибутах действия, у вас есть режим запуска атрибута, который позволяет вам указать, как должно быть запущено действие (http://developer.android.com/guide/topics/manifest/activity-element.html#lmode).

Посмотрите описание, чтобы увидеть, какой режимудовлетворяет большинству ваших потребностей. Затем, когда действие выходит на передний план, вы можете перезапустить службу, переопределив метод Activity.onResume ().

2 голосов
/ 23 февраля 2011

Именно так и должно работать. Если вам нужно настроить значения на экране, поместите этот код в onResume (). Что может быть неочевидным из его названия, так это то, что onResume () вызывается при первом создании Activity. Это всегда последний метод, вызываемый до того, как действие станет активным.

1 голос
/ 23 февраля 2011

В одном упражнении мне нужно запустить другое, но с одним условием: если оно было запущено раньше, то оно должно быть завершено и запущено снова

Нет ничего, что только делает это. Наиболее близким является комбинация FLAG_ACTIVITY_CLEAR_TASK|FLAG_ACTIVITY_NEW_TASK, но у нее есть другие побочные эффекты, такие как уничтожение любых других действий.

Насколько я знаю, когда я делаю startActivity (намерение), тогда вызывается onResume () (если действие было начато раньше).

Не по умолчанию. По умолчанию создается второй экземпляр действия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...