use of android.nfc.NdefMessage in project cw-omnibus by commonsguy.
the class MainActivity method writeToTag.
void writeToTag(Intent i) {
Tag tag = i.getParcelableExtra(NfcAdapter.EXTRA_TAG);
NdefMessage msg = new NdefMessage(new NdefRecord[] { buildNdefRecord() });
new WriteTagTask(this, msg, tag).execute();
}
use of android.nfc.NdefMessage in project cw-omnibus by commonsguy.
the class URLTagger method onNewIntent.
@Override
protected void onNewIntent(Intent intent) {
if (inWriteMode && NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
byte[] url = buildUrlBytes(getIntent().getStringExtra(Intent.EXTRA_TEXT));
NdefRecord record = new NdefRecord(NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_URI, new byte[] {}, url);
NdefMessage msg = new NdefMessage(new NdefRecord[] { record });
new WriteTask(this, msg, tag).execute();
}
}
use of android.nfc.NdefMessage in project cw-omnibus by commonsguy.
the class WebBeamActivity method handleIntent.
private void handleIntent(Intent i) {
if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(i.getAction())) {
Parcelable[] rawMsgs = i.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
NdefMessage msg = (NdefMessage) rawMsgs[0];
String url = new String(msg.getRecords()[0].getPayload());
beamFragment.loadUrl(url);
}
}
use of android.nfc.NdefMessage in project cw-omnibus by commonsguy.
the class WebBeamActivity method createNdefMessage.
@Override
public NdefMessage createNdefMessage(NfcEvent arg0) {
NdefRecord uriRecord = new NdefRecord(NdefRecord.TNF_MIME_MEDIA, MIME_TYPE.getBytes(Charset.forName("US-ASCII")), new byte[0], beamFragment.getUrl().getBytes(Charset.forName("US-ASCII")));
NdefMessage msg = new NdefMessage(new NdefRecord[] { uriRecord, NdefRecord.createApplicationRecord("com.commonsware.android.webbeam") });
return (msg);
}
use of android.nfc.NdefMessage in project android_frameworks_base by ResurrectionRemix.
the class Ndef method getNdefMessage.
/**
* Read the current {@link android.nfc.NdefMessage} on this tag.
*
* <p>This always reads the current NDEF Message stored on the tag.
*
* <p>Note that this method may return null if the tag was in the
* INITIALIZED state as defined by NFC Forum, as in that state the
* tag is formatted to support NDEF but does not contain a message yet.
*
* <p>This is an I/O operation and will block until complete. It must
* not be called from the main application thread. A blocked call will be canceled with
* {@link IOException} if {@link #close} is called from another thread.
*
* <p class="note">Requires the {@link android.Manifest.permission#NFC} permission.
*
* @return the NDEF Message, can be null
* @throws TagLostException if the tag leaves the field
* @throws IOException if there is an I/O failure, or the operation is canceled
* @throws FormatException if the NDEF Message on the tag is malformed
*/
public NdefMessage getNdefMessage() throws IOException, FormatException {
checkConnected();
try {
INfcTag tagService = mTag.getTagService();
if (tagService == null) {
throw new IOException("Mock tags don't support this operation.");
}
int serviceHandle = mTag.getServiceHandle();
if (tagService.isNdef(serviceHandle)) {
NdefMessage msg = tagService.ndefRead(serviceHandle);
if (msg == null && !tagService.isPresent(serviceHandle)) {
throw new TagLostException();
}
return msg;
} else if (!tagService.isPresent(serviceHandle)) {
throw new TagLostException();
} else {
return null;
}
} catch (RemoteException e) {
Log.e(TAG, "NFC service dead", e);
return null;
}
}
Aggregations