private bool parseNfcUri(NdefRecord record) { var uri = record.ToUri(); if (uri == null) { return(false); } if (uri.Host.Equals("v1.0.0")) { mVendor = DEFAULT_VENDOR; mModel = DEFAULT_MODEL; mVersion = DEFAULT_VERSION; return(true); } var segments = uri.PathSegments; if (segments.Count != 2) { return(false); } mVendor = uri.Host; mModel = ((String)segments[0]); mVersion = ((String)segments[1]); return(true); }
private void ReadNfcTag(Intent intent) { // Find first NDEF message var parcellableNdefMessages = intent.GetParcelableArrayExtra(NfcAdapter.ExtraNdefMessages); NdefMessage ndefMessage = null; if (parcellableNdefMessages != null && parcellableNdefMessages.Length > 0) { ndefMessage = parcellableNdefMessages[0] as NdefMessage; LogMessage("NDEF formatted NFC Tag discovered."); } else { LogMessage("Error: Tag is not NDEF formatted. This is unexpected."); return; } // Find first record in NDEF message NdefRecord ndefRecord = null; var ndefRecords = ndefMessage.GetRecords(); if (ndefRecords != null && ndefRecords.Length > 0) { LogMessage("Using first NDEF record."); ndefRecord = ndefRecords[0]; } else { LogMessage("Error: No records found in NDEF Message."); return; } // Log Uri to output LogMessage(String.Format("TAG Uri: {0}\n", ndefRecord.ToUri())); //var openUriIntent = new Intent(Android.Content.Intent.ActionView, ndefRecord.ToUri()); //StartActivity(openUriIntent); }