【问题标题】:Open android app on NFC and consume NFC tag在 NFC 上打开 Android 应用并使用 NFC 标签
【发布时间】:2015-04-24 14:23:51
【问题描述】:

开发 PhoneGap 安卓应用。

我有一个打开的应用需要 NFC 进行授权。我可以通过在 android 手机上点击 NFC 标签来打开应用程序,方法是:

 <intent-filter>.

当应用程序打开时,您必须再次点击您的标签才能授权。当您通过 NFC tap 打开应用程序时,是否可以使用 NFC 标签进行授权?

【问题讨论】:

标签: android cordova nfc


【解决方案1】:

假设您的 NFC 标签使用的是 NDEF 技术,那么您可以使用类似的方式来使用以下代码的完整调度信息。解析意图并提取所需信息的主要工作。

@Override  
protected void onResume() {  
    super.onResume();  

    if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction())) {  

        Tag tag=getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG);  
        Ndef ndef=Ndef.get(tag);  

        try {  
            ndef.connect();  
            NdefRecord ndefRecord=createTextRecord(data,Locale.US,true);  
            NdefRecord[] records={ndefRecord};  
            NdefMessage ndefMessage=new NdefMessage(records);  
            ndef.close();
        } catch (IOException e1) {  
            e1.printStackTrace();  
        } catch (FormatException e) {  
        }          
}

【讨论】:

    【解决方案2】:

    如果你使用phonegap-nfc plugin,你可以处理intent中扫描的NFC标签。

    在您的代码中添加nfc.addMimeTypeListener。从标签中读取 NDEF 数据并对用户进行身份验证。请注意,来自 Intent 过滤器的 NFC 扫描以 ndef-mime event 的形式发送,无论实际标签类型如何。

    有关此示例,请参阅https://github.com/don/nfc-launch

    【讨论】:

      猜你喜欢
      • 2020-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多