如何避免在 android 中检测到 NFC 标签?
How to avoid detection of NFC tag in android?
我正在制作一个带有 NFC 的应用程序。我希望检测在某些活动或片段中被禁用或掉落(没有振动、没有声音、没有应用程序选择器对话框、没有检测通知)。
这可能吗?
我只是在清单中使用 SingleTop
并像这样使用 Intent
:
在Manifests.xml
<activity
android:name=".ui.MainActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="example.com"
android:scheme="http"/>
</intent-filter>
</activity>
在MainActivity
val intent = Intent(this, MainActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)
pendingIntent = PendingIntent.getActivity(this, 0, intent, 0)
这是因为 default wallet
。某些设备可以在 NFC 设置中选择 NFC reader。你需要把它关掉。我从未尝试过检测通知并将其关闭的解决方案。有NotificationListenerService
。如果你想禁用所有通知,你得调查一下。
我正在制作一个带有 NFC 的应用程序。我希望检测在某些活动或片段中被禁用或掉落(没有振动、没有声音、没有应用程序选择器对话框、没有检测通知)。
这可能吗?
我只是在清单中使用 SingleTop
并像这样使用 Intent
:
在Manifests.xml
<activity
android:name=".ui.MainActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="example.com"
android:scheme="http"/>
</intent-filter>
</activity>
在MainActivity
val intent = Intent(this, MainActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)
pendingIntent = PendingIntent.getActivity(this, 0, intent, 0)
这是因为 default wallet
。某些设备可以在 NFC 设置中选择 NFC reader。你需要把它关掉。我从未尝试过检测通知并将其关闭的解决方案。有NotificationListenerService
。如果你想禁用所有通知,你得调查一下。