在开发 NFC 插件时, 由于是在flutter的页面中, 调用读取nfc, 所以传递的 context( activity ) 中 mExtras 属性为 null
在 NFCManager 中遇到 获取tag为空的问题
@Override
public void onNewIntent(Intent intent_nfc) {
* intent_nfc.mExtras 为空 *
final Tag tag = intent_nfc.getParcelableExtra(NfcAdapter.EXTRA_TAG);
// 读取的 tag 为 null
Log.d("tag", tag.toString());
/// 导致拿 nfcb 崩溃
final NfcB nfcB = NfcB.get(tag);
}
所以换一种方式:
/// 直接读取
mAdapter.enableReaderMode(context, new NfcAdapter.ReaderCallback() {
@Override
public void onTagDiscovered(Tag tag) {
// tag 有效
final NfcB nfcB = NfcB.get(tag);
}
}, NfcAdapter.FLAG_READER_NFC_B, null);
网友评论