Проверьте, была ли вызвана активность для результата
можно ли узнать, если какая-то деятельность была вызвана для результата, используя startActivityForResult()
или если только начал использовать startActivity()
?
мне нужно контролировать это, если его призвали к результату поведение будет отличаться.
1 ответ:
когда ваша деятельность была начата только
startActivity()
agetCallingActivity()
метод в целевой активности вернетnull
.когда он был вызван
startActivityForResult()
он вернет имя вызывающей активности.смотрите документы для
getCallingActivity()
:возвращает имя действия, которое вызвало эту деятельность. Это кто эти данные в
setResult()
будет отправлен. Вы можете использовать это сведения для проверки того, что получателю разрешено получать данные.Примечание: если вызывающая активность не ожидает результата (то есть не использовал
startActivityForResult(Intent, int)
форма, что включает в себя код запроса), то вызывающий пакет будет null.возвращает
имя компонента действия, которое получит ваш ответ, или null, если нет.