Проверьте, была ли вызвана активность для результата


можно ли узнать, если какая-то деятельность была вызвана для результата, используя startActivityForResult() или если только начал использовать startActivity()?

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

1 62

1 ответ:

когда ваша деятельность была начата только startActivity() a getCallingActivity() метод в целевой активности вернет null.

когда он был вызван startActivityForResult() он вернет имя вызывающей активности.

смотрите документы для getCallingActivity():

возвращает имя действия, которое вызвало эту деятельность. Это кто эти данные в setResult() будет отправлен. Вы можете использовать это сведения для проверки того, что получателю разрешено получать данные.

Примечание: если вызывающая активность не ожидает результата (то есть не использовал startActivityForResult(Intent, int) форма, что включает в себя код запроса), то вызывающий пакет будет null.

возвращает

имя компонента действия, которое получит ваш ответ, или null, если нет.