Я пытаюсь использовать значение «полезной нагрузки» из внешней записи, которую я написал в тег NFC. Я знаю, что запись была успешно записана в тег NFC. У меня возникают проблемы с использованием этого значения «полезной нагрузки» в инструкции «if». Мой код следующим образом:Использовать переменную «полезная нагрузка» NFC в операторе «if»
protected void onResume() {
super.onResume();
// read nfc tag...IS THIS WHAT WILL "READ" THE PAYLOAD VALUE THAT HAS BEEN WRITTIEN?
if (getIntent().hasExtra(NfcAdapter.EXTRA_TAG)) {
NdefMessage ndefMessage = this.getNdefMessageFromIntent(getIntent());
if(ndefMessage.getRecords().length > 0){
NdefRecord ndefRecord = ndefMessage.getRecords()[0];
String payload = new String(ndefRecord.getPayload());
Toast.makeText(this, payload, Toast.LENGTH_SHORT).show();
}
}
enableForegroundDispatchSystem();
}
После того, как я могу «прочитать» значение полезной нагрузки, я хочу, чтобы указать, что блок кода для запуска. Например:
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
///IF Payload Value = 1...Then run this code block:
if (intent.hasExtra(NfcAdapter.EXTRA_TAG))
{
Toast.makeText(this, "NFC Scan", Toast.LENGTH_SHORT).show();
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
String url = "http://www.google.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
///IF Payload = 2, then run this code block:
if (intent.hasExtra(NfcAdapter.EXTRA_TAG))
{
Toast.makeText(this, "NFC Scan", Toast.LENGTH_SHORT).show();
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
String url = "http://www.yahoo.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
}
Я надеюсь, что это имеет смысл, я только пытаюсь запустить простой «если/иначе» оператор, основанный на значении Payload, что было написано в теге. Спасибо за любую помощь!