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

Reply via email to