В моем приложении я пытаюсь поделиться тем, что показывает диалог устранения неоднозначности при нажатии кнопки «Поделиться»Однако, спам, нажимающий эту кнопку, показывает несколько экземпляров диалога устранения неоднозначности. Вопрос в том, как проверить, что неоднозначность уже отображается. Я знаю, что это проще проверить с помощью DialogFragment или alertDialog, но я не могу найти что-либо для диалогового окна устранения неоднозначности, показывающего намерение запуска.
Редактировать : Добавление кода по запросу
val shareIntent = Intent(Intent.ACTION_SEND)
shareIntent.type = "image/*"
shareIntent.putExtra(Intent.EXTRA_TEXT, shareModel?.emailSubject)
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
val shareUri = FileProvider.getUriForFile(context, "${context?.packageName}.fileprovider", file)
shareIntent.putExtra(Intent.EXTRA_STREAM, shareUri)
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
val intent = Intent.createChooser(shareIntent, context.resources.getString(R.string.share))
context.startActivity(intent)
Обновление После небольшого поиска / эксперимента я запускаю намерение с помощью
context.startActivityForResult(intent, SHARE_HELPER_REQUEST_CODE)
и затем в onActivityResult проверяю, закрыто ли диалоговое окно. Если у кого-то есть лучший способ сделать это, я буду счастлив использовать это.