问题遇到的现象和发生背景
uni app 使用nfc识别功能
遇到的现象和发生背景,请写出第一个错误信息
在自己的app识别出nfc卡内信息时 手机自己本身的nfc识别app也被调用 导致自己的app返回首页直接刷新 重载
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
/* js*/
nfcRuning: function(resolve) {
// console.log("--------------nfcRuning---------------")
NdefRecord = plus.android.importClass("android.nfc.NdefRecord");
NdefMessage = plus.android.importClass("android.nfc.NdefMessage");
let main = plus.android.runtimeMainActivity();
let intent = main.getIntent();
let action = intent.getAction();
let that = this;
if (package_TECH_DISCOVERED == action) {
if (readyRead) {
//这里通过read方法拿到NFC数据
const type = that.read(intent);
// readyRead = false;
//将数据返回出去
resolve(type)
}
}
}
read(intent) {
// toast('请勿移开标签正在读取数据');
let that = this;
// NFC id
let code_type = '';
let bytesId = intent.getByteArrayExtra(NfcAdapter.EXTRA_ID);
let nfc_id = that.byteArrayToHexString(bytesId);
let Parcelable = plus.android.importClass("android.os.Parcelable");
let rawmsgs = intent.getParcelableArrayExtra("android.nfc.extra.NDEF_MESSAGES");
if (rawmsgs != null && rawmsgs.length > 0) {
let records = rawmsgs[0].getRecords();
let result = records[0].getPayload();
let data = plus.android.newObject("java.lang.String", result);
code_type = data;
} else {
code_type = '暂无数据'
}
return code_type;
},
/*vue*/
async testNFC() {
console.log(111111)
//这里用异步获取读取到的NFC数据
this.nfc_type = await nfcFun.listenNFCStatus();
console.log(this.nfc_type)
},
运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
能否阻止跳转