离子2:使用NFC



我尝试在检测到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]}]

我仍在努力解码。希望这对您有帮助

相关内容

  • 没有找到相关文章

最新更新