Активность вызывает вторую Активность, но результат отправляется обратно до того, как вторая Активность вызывает onCreate ()? - PullRequest
1 голос
/ 30 июня 2011

Мне нужна помощь здесь.В основном, у меня есть активность.При этом используется метод startActivityForResult() для вызова второго действия (которое является частью того же приложения).Код результата для этого второго действия возвращает RESULT_CANCEL до того, как будет вызван метод onCreate() второго действия.

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

Для меня совершенно очевидно, что когда вы звоните своемуСобственная активность для результата вы должны сделать что-то другое.

Тестирование на Android V2.2

Ответы [ 2 ]

0 голосов
/ 21 июля 2011

Хорошо, поэтому я нашел решение для этого.

Если у вас есть launchMode "singleTask" или "singleInstance", то вы не можете получить результат от Activity, которую вы запускаете из своего приложения.Он немедленно вернется как RESULT_CANCEL.При изменении режима запуска Деятельности на «стандартный» или «одиночный» эта проблема решается.

пример:

android:launchMode="standard" //This is the default so if you remove the 
                              //attribute "android:launchMode=" from manifest 
                              //file you should be ok as well.

вместо

android:launchMode="singleTask"

Я надеюсьэто помогает всем, у кого такая же проблема.

0 голосов
/ 30 июня 2011

Моя первоначальная мысль - попытаться использовать фильтр намерений в манифесте Android и ограничить намерения одним действием, которое вы пытаетесь получить в результате.

Надеюсь, это ответит на ваш вопрос!

...