wal*_*sli 5 tags android nfc android-intent
据我所知,当Android手机触摸到NFC标签时,它将发送一个事件(NDEF_DISCOVERED意向),但是Android似乎并不在乎此标签是否保留在原地。我的解决方案是锁定屏幕然后解锁。如果标签仍然存在,我可以再次阅读。这显然是一种愚蠢的方式。有什么更聪明的方法吗?
作为您的活动收到的 NFC Intent 的一部分,您还将Tag在 Intent extra 中收到一个标签句柄(对象):
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
Run Code Online (Sandbox Code Playgroud)
根据标签的类型,您可以获得特定标签技术的实例。例如,如果是 NDEF 标签,您可以获得:
Ndef ndefTag = Ndef.get(tag);
Run Code Online (Sandbox Code Playgroud)
然后您可以使用 connect() 方法连接到标签:
ndefTag.connect();
Run Code Online (Sandbox Code Playgroud)
之后,您可以通过定期尝试读取标签来检查标签是否仍然“连接”到设备:
try {
ndefTag.getNdefMessage();
} catch (IOException e) {
// if you receive an IOException, contact to the tag has been lost
}
Run Code Online (Sandbox Code Playgroud)
请注意,只有当您的 Activity 始终位于前台并且屏幕保持打开状态时,这才有效。
| 归档时间: |
|
| 查看次数: |
2655 次 |
| 最近记录: |