Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

Когда ваша активность была запущена только с помощью startActivity(), метод getCallingActivity() в целевой активности вернет null.

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

См. Документы для getCallingActivity():

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

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

Возвращает

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