我正在使用库 phonegap-nfc 来扫描 nfc 但是当我扫描它时会打开其他页面
I am using the library phonegap-nfc to scan nfc but when I scan it opens other page
我在我的 vue 项目中使用 phonegap-nfc 库。它可以工作,但我不知道为什么它会在其他页面信息中打开我在 NFC 汽车上的信息。我想要做的是在我的应用程序中显示 NFC 拥有的所有信息。所以如果有人知道怎么做,你能帮帮我吗?
这是我的代码:
<template>
<v-app>
<v-card-actions>
<div class="cardInfos">
{{ tagId }}
{{ message }}
</div>
</v-card-actions>
</v-app>
</template>
<script>
export default {
name: 'App',
data: () => ({
tagId: "",
message: ""
}),
methods:{
scanNFC(){
window.nfc.enabled(
() => {
// NFC enabled
this.registerTagEvent()
},
(error) => {
if (error === 'NFC_DISABLED') {
// Trigger the phone settings to enable the NFC settings
window.nfc.showSettings()
} else if (error === 'NO_NFC') {
navigator.notification.alert('Cannot scan NFC', () => {}, 'No NFC', 'OK')
}
}
)
},
registerTagEvent () {
window.nfc.addTagDiscoveredListener(
this.displayNdef,
() => {
console.log('succeess registering ndef listener')
},
(error) => {
console.log('failure registering ndef listener', error)
}
)
},
displayNdef (nfcEvent) {
// Decode tag data from the plugin
const bgColor = document.getElementsByClassName(".v-application--wrap")
bgColor.style.backgroudColor = "green"
let tag = nfcEvent.tag
let tagId = window.nfc.bytesToHexString(tag.id)
let message = window.nfc.bytesToString(tag.ndefMessage[0].payload)
this.tagId = tagId
this.message = message
window.ndefMessage(tagId, message)
}
},
deactivated () {
this.unregisterTagEvent()
},
unregisterTagEvent () {
// Test if the plugin is defined
if ((typeof nfc) !== 'undefined') {
window.nfc.removeNdefListener(this.displayNdef)
}
},
};
</script>
谁能帮帮我:)
我通过以下步骤解决了问题:
在库存中禁用标签应用程序的步骤 Android:
导航到设置
点击应用和通知
单击查看所有应用程序(通常在最近打开的应用程序下)
点击右上角的3个点
单击显示系统(这将启用所有系统安装的应用程序)
搜索应用程序(默认 nfc 应用程序,您将在读取 NFC 标签时在选择选项中看到它)
通常该应用程序称为标签:单击应用程序列表中的标签应用程序
单击“禁用”,然后在围绕禁用应用程序显示的任何对话框中单击“确定”
我在我的 vue 项目中使用 phonegap-nfc 库。它可以工作,但我不知道为什么它会在其他页面信息中打开我在 NFC 汽车上的信息。我想要做的是在我的应用程序中显示 NFC 拥有的所有信息。所以如果有人知道怎么做,你能帮帮我吗?
这是我的代码:
<template>
<v-app>
<v-card-actions>
<div class="cardInfos">
{{ tagId }}
{{ message }}
</div>
</v-card-actions>
</v-app>
</template>
<script>
export default {
name: 'App',
data: () => ({
tagId: "",
message: ""
}),
methods:{
scanNFC(){
window.nfc.enabled(
() => {
// NFC enabled
this.registerTagEvent()
},
(error) => {
if (error === 'NFC_DISABLED') {
// Trigger the phone settings to enable the NFC settings
window.nfc.showSettings()
} else if (error === 'NO_NFC') {
navigator.notification.alert('Cannot scan NFC', () => {}, 'No NFC', 'OK')
}
}
)
},
registerTagEvent () {
window.nfc.addTagDiscoveredListener(
this.displayNdef,
() => {
console.log('succeess registering ndef listener')
},
(error) => {
console.log('failure registering ndef listener', error)
}
)
},
displayNdef (nfcEvent) {
// Decode tag data from the plugin
const bgColor = document.getElementsByClassName(".v-application--wrap")
bgColor.style.backgroudColor = "green"
let tag = nfcEvent.tag
let tagId = window.nfc.bytesToHexString(tag.id)
let message = window.nfc.bytesToString(tag.ndefMessage[0].payload)
this.tagId = tagId
this.message = message
window.ndefMessage(tagId, message)
}
},
deactivated () {
this.unregisterTagEvent()
},
unregisterTagEvent () {
// Test if the plugin is defined
if ((typeof nfc) !== 'undefined') {
window.nfc.removeNdefListener(this.displayNdef)
}
},
};
</script>
谁能帮帮我:)
我通过以下步骤解决了问题:
在库存中禁用标签应用程序的步骤 Android:
导航到设置 点击应用和通知 单击查看所有应用程序(通常在最近打开的应用程序下) 点击右上角的3个点 单击显示系统(这将启用所有系统安装的应用程序) 搜索应用程序(默认 nfc 应用程序,您将在读取 NFC 标签时在选择选项中看到它) 通常该应用程序称为标签:单击应用程序列表中的标签应用程序 单击“禁用”,然后在围绕禁用应用程序显示的任何对话框中单击“确定”