如何禁用 android 中的选择器对话框?

how to disable chooser dialog in android?

我正在制作一个使用 NFC 的应用程序。

只要检测到标签,chooser dialog 就会不断弹出 Complete action using 标题和可能的应用程序。

我用 SingleTopSingleTask 掩盖了它。但是,它并不是一直有效。

似乎我无法真正触摸检测到 NFC 标签后发生的事情,因为它在系统级别上工作。不仅在我的应用程序中。它无处不在。

我找到了一些可以自定义选择器对话框的方法,但是,不适用于 NFC,因为在我的应用程序中,我从未实现任何关于 createChooser()

我尝试像这样为选择器添加更多代码

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 标签。

使用 ForgroundDispatch 解决问题。