2015-02-07 2 views
0

Вот сценарий:
Существует два вида деятельности; активность A (основной вид деятельности) и активность B. В общем случае активность B запускается по активности A, и все нормально. Также активность B может запускать другие действия B. У всех запущенных B-операций установлен флаг «Intent.FLAG_ACTIVITY_NEW_TASK». Иногда при просмотре активности B со стороны приложения происходит что-то необычное. Первая активность B, например B1, запускается, но при попытке запустить другое действие B, скажем B2, изнутри B1 ничего не происходит, и мне нужно перезапустить приложение для правильной работы. Когда я проверил тег ActivityManager logcat, в обычном сценарии есть две строки журнала; один говорит (активность) НАЧАЛО, а другой говорит ОТОБРАЖЕН. Но в сценарии с багги он просто говорит НАЧАЛО.Деятельность запущена, но не показана

+0

Вы назвали ** setContentView(); ** внутри своих действий B? – Rami

+0

@Rami да, это называется. – elfar

+0

Опубликуйте свой код (намерение, которое запустит действие B, и действие B-кода «onCreate») – Rami

ответ

0

Я не уверен, но я думаю, что проблема может быть вашей «FLAG_ACTIVITY_NEW_TASK».

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_TASK

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

0

Вы должны установить contentView в файл XML внутри вашей деятельности, не показывая. Например: setContentView (R.layout.yourXMLLayout);

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