アプリケーションレコードの概要

アプリケーションレコードの概要

このレコードはNDEF headerへ以下の情報をセットする

TNF:0x04(NFC Forum external type)
type:android.com:pkg
payload:パッケージ名

次に、レコード作成と読み込み

これは、android.com:pkg をバイト列にしてtypeへ指定し
payloadには任意のパッケージ名を
タイプと同様の方法でバイト化したものを含める

ソースにすると
private static NdefRecord toNdefRecord(String pkg){
//パッケージ名をバイト列へ変換
byte[] pkgBytes = pkg.getBytes(Charset.forName(“US-ASCII”));

//NDEF record作成
return new NdefRecord(NdefRecord.TNF_EXTERNAL_TYPE, RTD_ANDROID_APP, new byte[0] , pkgBytes);
}

public static final byte[] RTD_ANDROID_APP = “android.com:pkg”.getBytes();

public static AndroidApplicationRecord parse(NdefRecord parseRec) throws FormatException{
if(parseRec.getTnf() != NdefRecord.TNF_EXTERNAL_TYPE){
throw new FormatException(“TNFがNFC forum well known type ではありませんでした”);
}
if(!Arrays.equals(parseRec.getType(), RTD_ANDROID_APP)){
throw new FormatException(“タイプがandroid.com:pkgではありませんでした”);
}

//読み取ったデータを文字列へ変換
String packageName = new String(parseRec.getPayload(), Charset.forName(“US-ASCII”));

return new AndroidApplicationRecord(packageName);
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です