По этому вопросу:
Вызов startIntentSenderForResult из фрагмента (Android Billing v3)
Вызов startIntentSenderForResult требует, чтобы вы передали Activity, реализующее onActivityResult(...). Фрагменты не могут реализовать это, поэтому, если вы хотите вызвать метод из одного, вы должны передать его через Activity, предположительно через Activity, который создал фрагмент.
Моя проблема отличается от существующего вопроса тем, что у меня нет легкодоступного действия, для которого я могу реализовать onActivityResult. Мой фрагмент создается другим фрагментом, и между этим фрагментом и «основным» действием, которое инициирует процесс, происходит много логики, декодирования объектов домена и т. д.
Итак, по практическим и архитектурным причинам я действительно предпочел бы не направлять обратный вызов в эту активность и возвращаться к вызывающему фрагменту.
Я думаю о чем-то вроде:
- фрагмент, который выполняет вызов, создает временную активность, содержащую ссылку на фрагмент, и реализует onActivityResult, который обрабатывает обратный вызов и маршрутизирует обратно во фрагмент.
Помощь любого рода будет принята с благодарностью.