如何解决NFC读取卡后,它将自行打开应用程序,我该如何解决此问题?
NFC读取卡时,它会自行打开应用程序,但是我只想在打开此应用程序时读取NFC
<activity
android:name="MyActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:screenorientation="portrait"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.nfc.action.TECH_disCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<Meta-data
android:name="android.nfc.action.TECH_disCOVERED"
android:resource="@xml/nfc_tech_filter" />
</activity>
nfc_tech_intent_filter
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<tech-list>
<tech>android.nfc.tech.IsoDep</tech>
</tech-list>
</resources>
解决方法
答案是不要在清单中放入intent-filter
和技术过滤器,这就是导致NFC服务在读取匹配的NFC卡时打开您的应用程序的原因。
因此从清单中删除
<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data
android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/nfc_tech_filter" />
在您的活动 nfcAdapter.enableForegroundDispatch
(以及nfcAdapter.enableReaderMode
中禁用的方法)中使用onResume
或什至更好的onPause
API来读取NFC卡,前提是您的App已经运行并且在前台
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。