3

この機能の背後にある「科学」を教えてください。

 `IsoDep.get(tag)` 

タグが正しく読み取られてもnullを返すためです。私はEclipseでAndroidアプリケーションを実行しています。

4

2 に答える 2

0

以下の手順を実行します。

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);
        } 

それがあなたを助けることを願っています。:)

コーディングをお楽しみください...

于 2012-10-25T10:30:38.353 に答える
-1

ドキュメントを見ると:

  • IsoDep が getTechList() で列挙されていない場合は null を返します。これは、タグが ISO-DEP をサポートしていないことを示します。

お読みの NFC タグは IsoDep をサポートしていないようです。

サポートされているものを調べるには、このメソッドを使用します。

private static String debugTag(Tag tag)
{
    String str = "=== DEBUG TAG ===";
    for (String techListItem : tag.getTechList())
    {
        str += "\n" + techListItem;
    }

    return str;
}
于 2012-07-05T00:56:48.323 に答える