在NFC上打开Android应用程序并使用NFC标签

时间:2015-04-24 14:23:51

标签: android cordova nfc

开发PhoneGap Android应用程序。

我有一个应用程序,在打开时需要NFC授权。我可以通过点击NFC标签到Android手机来打开应用程序

 <intent-filter>.

当应用程序打开时,您必须再次点按您的标签进行授权。有没有办法在通过NFC点击打开应用程序时使用NFC标签,以便进行授权?

2 个答案:

答案 0 :(得分:0)

假设您的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) {  
        }          
}

答案 1 :(得分:0)

如果您使用phonegap-nfc plugin,则可以处理意图中扫描的NFC标签。

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

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

相关问题