public class CheckinActivity extends Activity{
private boolean mResumed = false;
private boolean mWriteMode = false;
NfcAdapter mNfcAdapter;
PendingIntent mNfcPendingIntent;
IntentFilter[] mWriteTagFilters;
IntentFilter[] mNdefExchangeFilters;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mNfcAdapter =
NfcAdapter.getDefaultAdapter(this);
mNfcPendingIntent = PendingIntent.getActivity(this, 0,new
Intent(this,
getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP),0);
}
@Override
//void main utk inputan nfc
protected void onResume() {
super.onResume();
mResumed = true;
// Sticky notes received from Android
if
(NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction()))
{
NdefMessage[] messages = getNdefMessages(getIntent());
byte[] payload =
messages[0].getRecords()[0].getPayload();
setIntent(new Intent()); // Consume this intent.
}
enableNdefExchangeMode();
}
private void enableNdefExchangeMode() {
mNfcAdapter.enableForegroundDispatch(this, mNfcPendingIntent,
mNdefExchangeFilters, null); }
@Override
protected void onNewIntent(Intent intent) { // NDEF exchange
mode
if (!mWriteMode &&
NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) {
NdefMessage[] msgs = getNdefMessages(intent);
byte[] payload =
msgs[0].getRecords()[0].getPayload();
}
}
NdefMessage[] getNdefMessages(Intent intent) { // Parse the
intent
NdefMessage[] msgs = null;
String action = intent.getAction();
//jika ada action
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(action) ||
NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {
//baca pesan, masukkan ke rawMsgs
Parcelable[] rawMsgs =
intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
if (rawMsgs != null) {
msgs = new NdefMessage[rawMsgs.length];
for (int i = 0; i < rawMsgs.length; i++) { msgs[i] =
(NdefMessage) rawMsgs[i]; }
}
}
return msgs;
}
}
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en