この機能の背後にある「科学」を教えてください。
`IsoDep.get(tag)`
タグが正しく読み取られてもnullを返すためです。私はEclipseでAndroidアプリケーションを実行しています。
以下の手順を実行します。
1)NFC技術タグを取得します。つまり、tag.getTechList()メソッドを使用するだけで見つけるのはそれほど難しくありません。
2)デバイスがNfcFのような1つの技術タグのみをサポートするとします
3)次に、以下のようにNfcFのandroidクラスを使用します
NfcF mifare = NfcF.get(tag);
try {
mifare.connect();
if(mifare.isConnected()){
byte[] historicalData=mifare.getManufacturer();
return new String(historicalData, Charset.forName("US-ASCII"));
}
} catch (IOException e) {
Log.e("Deepak", "IOException while writing MifareUltralight message...", e);
}
それがあなたを助けることを願っています。:)
コーディングをお楽しみください...
ドキュメントを見ると:
お読みの NFC タグは IsoDep をサポートしていないようです。
サポートされているものを調べるには、このメソッドを使用します。
private static String debugTag(Tag tag)
{
String str = "=== DEBUG TAG ===";
for (String techListItem : tag.getTechList())
{
str += "\n" + techListItem;
}
return str;
}