-1
NFCタグに外部レコードが正常に書き込まれました。サードパーティのタグリーダーを使って書かれた外部レコードを評価すると、適切な値が表示されます。これは単一の正の整数です。NFC外部レコードが間違った形式で返されていますか?
しかし、「if」ステートメントにその値を組み込むために(Toastを使用して)タグにペイロード(外部レコード)の値が何であるかを見るために私のコードを実行すると異なる値。これまでのところ、私は以下を見た:
B @ 41fb4278またはB @ 41fb1190。
この時点で、外部レコードの値はちょうど "2"です。どのようにして返すことができますか?
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if(intent.hasExtra(NfcAdapter.EXTRA_TAG))
{
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
byte[] payload = "2".getBytes(); ///this is where the ID (payload) for the tag is assigned.
NdefRecord[] ndefRecords = new NdefRecord[2];
ndefRecords[0] = NdefRecord.createExternal("com.example.bmt_admin", "externaltype", payload);
ndefRecords[1] = NdefRecord.createApplicationRecord("com.example.bmt_01");
NdefMessage ndefMessage = new NdefMessage(ndefRecords);
writeNdefMessage(tag, ndefMessage);
Toast.makeText(this, "NFC Scan: " + payload, Toast.LENGTH_SHORT).show();
}
}
ありがとうございました!