То, что вы хотите сделать, просто невозможно, если Android не имеет права (и, вероятно, не будет в будущем).
Вы в настоящее время гласят идентификатор предупреждения столкновений (UID, Pupi, или то, что он вызывается для этой конкретной платформы тегов, вы прочтете):
result = ByteArrayToHexString(intent.getByteArrayExtra(NfcAdapter.EXTRA_ID));
Идентификатор предотвращения столкновений является частью очень низкой уровня протокола. Хотя Android поддерживает эмуляцию карт на базе хоста (см. Android HCE), у Android API нет средств для управления такими низкоуровневыми параметрами, как UID. Как правило, его также невозможно изменить эту информацию в тегах NFC.
Обратите внимание, что если ваш тег также содержит некоторые данные высокого уровня в формате ЦНК можно получить, что с помощью:
Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
NdefMessage msg = null;
if ((rawMsgs != null) && (rawMsgs.length > 0)) {
msg = (NdefMessage)rawMsgs[0];
}
if (msg != null) {
// do something with the received message
}
Android не поддерживает хранящих эти ЦНК сообщения на (перезаписываемых) метки NFC и он также поддерживает отправку NDEF на другие устройства NFC (см. Beaming NDEF Messages to Other Devices).
E.g. хранить сообщение ЦНК на метке NFC можно использовать:
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
Ndef ndef = Ndef.get(tag);
if (ndef != null) {
try {
ndef.connect();
ndef.writeNdefMessage(msg);
} finally {
ndef.close();
}
} else {
NdefFormatable ndefFormatable = NdefFormatable.get(tag);
if (ndefFormatable != null) {
try {
ndefFormatable.connect();
ndefFormatable.format(message);
} finally {
ndefFormatable.close();
}
}
}
Или для того, чтобы отправить сообщение другому устройству NFC через равный-равному режиме (Android Beam), вы можете использовать:
NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
nfcAdapter.setNdefPushMessage(msg, this);
Спасибо за ур ответ .. я собираюсь следовать ур структуру так, у меня есть вопрос ... я должен установить это приложение на устройстве, где им будет отправить строку? –
Да, вам также понадобится приложение в качестве приемника. Android не будет знать, что делать с данными без конкретного приложения. –