我使用phonegap-nfc来对NFC标签执行所有读/写操作。与nfc标记的交互仅在应用程序的几个页面中启用。
现在我正在尝试添加新功能,即点击NFC标签启动我的应用程序(当应用程序未运行时)并对标签执行读取操作。启动应用程序正在运行。
我在 AndroidManifest.xml 中添加了intent-filter,如下所示:
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<data android:host="ext" android:pathPrefix="/<my-urn>" android:scheme="vnd.android.nfc" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
&#13;
并添加 nfc.addMimeTypeListener ,如下所示:
nfc.addMimeTypeListener('text/any', function () {
// route to particular page
}, function () {
console.log('success!');
}, function () {
console.log('Failed!');
});
&#13;
当我添加 nfc.addMimeTypeListener 时我遇到问题,如果我只是添加了intent-filter(没有 nfc.addMimeTypeListener ),它会启动应用程序并且当我点击NFC标签时,它既不会做任何事情,也不会执行必要的nfc操作,基于我所在的页面 - 这是正确的行为。但是当我添加nfc.addMimeTypeListener添加到intent-filter时,如果我在应用程序已经打开时点击NFC,它会一次又一次地重新打开应用程序,而不是执行必要的nfc操作。没有得到我做错的事情!
任何帮助都会得到满足!
答案 0 :(得分:0)
您可以尝试删除侦听器并在清单本身中添加mimeType,例如<data android:mimeType="text/plain" />