アプリケーションレコードの概要
このレコードは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);
}