У меня вопрос о методе startActivityForResult
:
У меня есть 3 действия: A, B и C. A запускает startActivityForResult
для запуска B, тогда B вернет результат A. Если resultCode в порядке, A запустит C. Как показано на изображении ниже:
Согласно моему тесту на устройствах под управлением Android 2.3.x он всегда показывает активность A в течение короткого периода времени перед запуском C. Но для устройств под управлением 4.x активность A не отображается.
Итак, есть ли способ скрыть A от появления после того, как B вернет ему результат?
1 ответ
На примере вашей камеры я бы сделал следующее:
A
запускается.
A
открывает B
с помощью startActivity
.
Если фотография сделана успешно (которую вы регистрируете в B
), отправьте ее на C
, если нет,
finish()
и вернитесь в A
.
Поэтому все, что вам нужно сделать, это переместить этап проверки на B
. Не вижу смысла в меню это проверять.
Похожие вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.
forResult
и запустить C из B, если результат вас устраивает? Возможно, это не очень хорошее решение, но я вижу, что оно работает.A
? Нет никакого способа обойти это? (Я понимаю, если нет, просто интересно)