【问题标题】:How do I write an Android Application Record (AAR) using phonegap?如何使用 phonegap 编写 Android 应用程序记录 (AAR)?
【发布时间】:2014-08-29 16:24:17
【问题描述】:

我正在使用 chariot solutions phonegap plugin 编写 NFC 标签,但我不确定如何使用 phonegap 插件编写 Android Application Record

这是我如何编写 NDEF 记录的代码:

nfc.addNdefListener( function(nfcEvent) {

    var tag = nfcEvent.tag, ndefMessage = tag.ndefMessage;

    if (tag.isWritable && tag.canMakeReadOnly) {
        log( JSON.stringify( tag ) );

        var type = "application/com.example.name",
        id = 1234,
        payload = nfc.stringToBytes( JSON.stringify( { payloadID : 1234 } ) ),
        record = ndef.record( ndef.TNF_MIME_MEDIA, type, id, payload );

        var message = [ record ];

        nfc.write( message, function() {
            alert( "Successfully written to NFC Tag!" )
        }, function() {
            alert( "Failed to write to NFC Tag!" )
        } );
    }

}, function() { // success callback
    log( "Waiting for NDEF tag" );
}, function(error) { // error callback
    alert( "Error adding NDEF listener " + JSON.stringify( error ) );
} );

如何使用 phonegap 编写 Android 应用程序记录 (AAR)?

【问题讨论】:

标签: cordova phonegap-plugins nfc ndef android-applicationrecord


【解决方案1】:

答案是根据spec found here写一条TNF_EXTERNAL_TYPE记录

nfc.addNdefListener( function(nfcEvent) {

    var tag = nfcEvent.tag, ndefMessage = tag.ndefMessage;

    if (tag.isWritable && tag.canMakeReadOnly) {
        log( JSON.stringify( tag ) );

        var type = "application/com.example.name",
        id = 1234,
        payload = nfc.stringToBytes( JSON.stringify( { payloadID : 1234 } ) ),
        mime = ndef.record( ndef.TNF_MIME_MEDIA, type, id, payload );

        var type = "android.com:pkg",
        id = "",
        payload = nfc.stringToBytes( "com.example.name" ),
        aar = ndef.record( ndef.TNF_EXTERNAL_TYPE, type, id, payload);

        var message = [ mime, aar ];

        nfc.write( message, function() {
            alert( "Successfully written to NFC Tag!" )
        }, function() {
            alert( "Failed to write to NFC Tag!" )
        } );
    }

}, function() { // success callback
    log( "Waiting for NDEF tag" );
}, function(error) { // error callback
    alert( "Error adding NDEF listener " + JSON.stringify( error ) );
} );

【讨论】:

  • 记录 id 应该是一个字节数组,或者如果你不使用和 id 就简单地用“[]”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多