我已经制作了一个应用程序,它可以读取nfc标记并显示其内容(一旦对其进行了解析),如下所示:https://medium.com/@ssaurel/create-a-nfc-reader-application-for-android-74cf24f38a6f只是我有一个按钮,如果你想扫描一个nfc标签,需要按下这个按钮。
现在,在我的androidmanifest.xml中,我添加了一个意图过滤器,允许在从我的设备检测到nfg标记时启动我的应用程序:
<activity android:name=".MainActivity" android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
<data android:scheme="https" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/vnd.com.example" />
</intent-filter>
<meta-data android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/nfc_tech_filter" />
</activity>
它启动了我的应用程序,但什么也没发生。我的意思是,我没有关于nfc标签的结果。。。如何在我的应用程序打开时获取标签的内容?
1条答案
按热度按时间wtlkbnrh1#
你需要从启动活动的意图中获得信息。
https://developer.android.com/guide/topics/connectivity/nfc/nfc
如果活动是因为nfc意图而启动的,则可以从该意图获取有关扫描的nfc标记的信息。根据扫描的标记,意图可以包含以下附加内容:
所以:
或