Я создаю приложение с использованием NFC.
Всякий раз, когда тег обнаруживается, chooser dialog
продолжает всплывать с Complete action using
заголовком и возможными приложениями.
Я покрывал егоиспользуя SingleTop
или SingleTask
.Тем не менее, он не работает все время.
Кажется, что я не могу по-настоящему коснуться того, что происходит после обнаружения тега NFC, потому что он работает на системном уровне.Не только в моем приложении.Он появляется везде.
Я нашел несколько способов настроить диалог выбора, однако, не для NFC, потому что в моем приложении я никогда не реализовывал ничего о createChooser()
.
Я попытался добавить что-то еще код для chooser, как это
val intent = Intent(this, MainActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)
// start
val list = arrayListOf<String>()
list.add("me@example.com")
intent.putExtra(Intent.EXTRA_EMAIL, list)
intent.putExtra(Intent.EXTRA_SUBJECT, "Hi")
intent.putExtra(Intent.EXTRA_TEXT, "Hi,This is Test")
pendingIntent = PendingIntent.getActivity(this, 0, Intent.createChooser(intent, "Yaho"), 0)
И я получаю тот же результат.Я предполагаю, что причина в том, что он управляется на системном уровне.
Лучшее решение - избегать обнаружения метки NFC в некоторых конкретных действиях или фрагментах и управлять диалоговым окном выбора.