package org.android.textbook.lesson4.nfcreadsample;
import android.net.Uri;
import android.nfc.NdefMessage;
import android.nfc.NdefRecord;
import android.nfc.NfcAdapter;
import android.nfc.NfcManager;
import android.nfc.Tag;
import android.os.Bundle;
import android.os.Parcelable;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import android.widget.TextView;
public class NfcReadTechActivity extends Activity {
private static final String TAG = "NfcReadTechActivity";
private NfcAdapter mNfcAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
NfcManager nfcManager = (NfcManager) getSystemService(Context.NFC_SERVICE);
mNfcAdapter = nfcManager.getDefaultAdapter();
if (mNfcAdapter == null) {
// このデバイスはNFC機能を対応していない
}
}
@Override
public void onResume() {
super.onResume();
// get EXTRA_TAG
Tag tag = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG);
// get EXTRA_ID
byte[] tagId = getIntent().getByteArrayExtra(NfcAdapter.EXTRA_ID);
// get EXTRA_NDEF_MESSAGES
Parcelable[] rawMsgs = getIntent().getParcelableArrayExtra(
NfcAdapter.EXTRA_NDEF_MESSAGES);
if (rawMsgs != null) {
for (Parcelable pa : rawMsgs) {
NdefMessage ndefMsg = (NdefMessage) pa;
NdefRecord[] records = ndefMsg.getRecords();
for (NdefRecord rec : records) {
TextView textView = (TextView) findViewById(R.id.textView);
Uri uri = rec.toUri();
textView.setText(uri.toString());
break;
}
}
}
Log.e(TAG, tag.toString());
Log.e(TAG, tagId.toString());
}
}