私はAndroidの初心者NFC APIです。NFCタグからデータを読み取る(IsoDep)
現在、私はNFCタグを持っています。私はそれからデータを読み取るためにAndroidアプリを作っています。私の携帯電話がNFCタグに十分に近づくと、私の簡単なアプリケーションが起動されます。しかし、NFCタグ内のデータをどのように読み込むのか分かりません。タグはのIsoDep技術を使用します。
私の現在のコード:私はインターネット上でググ
@Override
protected void onResume(){
super.onResume();
Intent intent = getIntent();
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
IsoDep isoDep = IsoDep.get(tag);
// How to read data from IsoDep instance?
、私は人々がNFCタグからの応答を取得するためにIsoDep
にコマンドを送信する通知が、私は応答からと仮定し、我々は、タグ内のデータを解析することができます
//What is the 'command' ? How to define the command?
//e.g.:
byte command = (byte) 0x6A
isoDep.transceive(command)
しかし、コマンドは初心者として、何が起こっているかを理解することは非常に困難である、ちょうどbyte
です:私は、人々はこれをやって見ました。データを読み込むコマンドを定義する方法がわかりません。誰でも私に説明することができますか?またはコマンドについて知ることができるドキュメントがありますか?
は一般的に、私は応答からのデータを解析する方法コマンド&を定義する方法のいくつかのガイダンスを必要とする、私はタグ&に格納されたデータを読みたいUIエレメント(例えばTextView
)のString形式のデータを示しています。
*および***
私はこれらの構成に問題がない(例えばAnroidManifest.xml)、設定する方法の私を案内しないでください:)
なぜ "len-2"ですか?レスポンスはどのように構造化されていますか、ヘッダーはありますか? Nevermindは、ウィキペディアのリンクから見つけました。終了時の2ステータスバイト –
[APDU](https://en.wikipedia.org/wiki/Smart_card_application_protocol_data_unit)メッセージの結果には、応答データ(アプリケーション固有)とコマンドをエンコードする応答トレーラSW1-SW2が続きます処理結果、例えば例えば成功のための0x9000。応答データの構造化はアプリケーション固有です(通常、[TLV](https://en.wikipedia.org/wiki/Type-length-value)エンコーディングが使用されます)。 – Dominik
ちょっとドミニク、なぜ "方法4"を選んだの?それはどんなバイトでもいいですか? –