Прежде всего, на Android можно запускать только одно действие, так что вы никогда не будете одновременно запускать два действия. Используйте startActivity()
, когда вы хотите «стрелять и забывать», то есть вы хотите запустить мероприятие, но не ожидаете, что оно вернет значение вашей активности. В этом случае начнется новое действие, и ваша деятельность будет приостановлена; вы можете в конечном итоге восстановить контроль, как только пользователь вернется к вашей деятельности.
Используйте startActivityForResult()
, когда вы изучаете результат деятельности, которую вы запускаете. В этом случае вызывающая операция должна переопределить onActivityResult()
, которая будет вызываться, когда запущенная деятельность завершается и имеет результат, чтобы вернуться к вам (которую он устанавливает с setResult()
).
В обоих случаях, так как вызывающая активность и называется деятельность в одной и той же задачи, это «синхронные» в определенном смысле (хотя я думаю, что, используя термины «синхронный» и «асинхронный» может привести к путанице в этот контекст). Вызывающая активность не будет отображаться на экране до тех пор, пока вызываемая деятельность не завершится.
Полезно читать, чтобы узнать больше это: * http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html
- Бруно Оливейра (Android Developer, Отношения Google)
@ Dinesh..Your вопрос такой же, как [ссылка] HTTP: // StackOverflow .com/questions/8613295/difference-between-synchronous-activities-ans-асинхронные действия [link], а также вы ответили на это сообщение. Итак, почему вы задаете один и тот же вопрос. Более того, AFAIK startSubActivity никогда не выпускается публично, и его функциональность предоставляется startActivityForResult() – Maverick
. Спасибо Ravi за комментарий. Я ответил на этот вопрос, но я все еще немного смутил эту концепцию. Поэтому хочу быть на 100% ясным. Если у вас есть идея по этому поводу, чем вы можете поделиться со мной ... :) –
«Может кто-нибудь помочь мне объяснить синхронную и асинхронную активность в android». - в Android такой концепции нет. – CommonsWare