我尝试在检测到NFC卡时创建一个函数来进行电话振动。我使用离子2,这是:https://github.com/chariotsolutions/phonegap-nfc
我尝试过。IN .TS文件:
readNFCNdefListener() {
console.log("NFC READ OK");
NFC.addTagDiscoveredListener(onSuccess => function () {
this.nfc_status = 'Read NdefListener';
console.log('Read NdefListener', onSuccess);
Vibration.vibrate([1000,250,1000]);
});
}
在.html文件中:
<ion-card>
<ion-item (click)="readNFCNdefListener()">
<ion-label>NFC Nef : {{this.nfc_status}}</ion-label>
</ion-item>
</ion-card>
这是无效的。我真的不明白如何使用此插件。有人可以告诉我该怎么做?
ps:我在设备上激活NFC。
我有导入NFC和NDEF。
您必须在config.xml中添加一些东西:
<platform name="android">
<uses-permission android:name="android.permission.NFC" />
<uses-feature android:name="android.hardware.nfc" android:required="true" />
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<data android:mimeType="text/pg"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</platform>
,如果您有一个XML错误,请在widget
中的文件顶部添加此错误。xmlns:android="http://schemas.android.com/apk/res/android"
有关Android的意图过滤器的更多详细信息,请参阅:https://developer.android.com/guide/topics/connectivition/nfc/nfc.html#ndef-disc
在我的TS文件中,我有:
import {NFC, Ndef} from 'ionic-native';
..
addNfcListeners():void {
NFC.addTagDiscoveredListener((tagEvent:Event) => this.tagListenerSuccess(tagEvent));
NFC.addNdefListener((tagEvent:Event) => this.tagListenerSuccess(tagEvent));
}
tagListenerSuccess(tagEvent:Event) {
console.log(tagEvent);
}
然后在您的日志中,您会看到它。如果您不知道如何看到日志简单(但不是最好的)解决方案是打开Android Studio,您将在Android Monitor上
在我的情况下是:
03-02 17:31:33.712 27750-16921/com.ionicframework.tbcbyjeff820435 V/NfcPlugin: var e = document.createEvent('Events');
e.initEvent('ndef-mime');
e.tag = {"id":[59,12,-6,-33],"techTypes":["android.nfc.tech.NfcA","android.nfc.tech.MifareClassic","android.nfc.tech.Ndef"],"type":"com.nxp.ndef.mifareclassic","maxSize":716,"isWritable":true,"ndefMessage":[{"tnf":1,"type":[84],"id":[],"payload":[2,102,114,78,73,67,79,76]}],"canMakeReadOnly":true};
标签的内容在
中"ndefMessage":[{"tnf":1,"type":[84],"id":[],"payload":[2,102,114,78,73,67,79,76]}]
我仍在努力解码。希望这对您有帮助