2

タグ方式を使ってみた

byte[] tagId = intent.getByteArrayExtra(NfcAdapter.EXTRA_ID);      

しかし、タグを読み取るたびに値が変わります。

正しい ISO15693 タグ ID を読み取るにはどうすればよいですか?

4

3 に答える 3

2

バイト配列を取得したら、16 進バイト配列を文字列に変換する必要があります。

この機能を試してください:

public String getHexString(byte[] b) {
    StringBuffer sb = new StringBuffer();
    for (int i=b.length-1; i >= 0; i--){
        sb.append(Integer.toString((b[i] & 0xff) + 0x100, 16).substring(1));
    }
    return sb.toString();
}
于 2012-09-26T06:37:38.383 に答える
1

以下を使用してみてください

Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

byte[] id = tagFromIntent.getId();

タグ識別子を取得します (ある場合)。タグ識別子は、衝突防止と識別に使用される低レベルのシリアル番号です。ほとんどのタグには安定した一意の識別子 (UID)がありますが、一部のタグは検出されるたびにランダム ID (RID) を生成し、 ID をまったく持たないタグもあります (バイト配列のサイズはゼロになります)。

于 2012-01-04T08:17:39.660 に答える