Поскольку вы создали new
и пустой Intent
, читать из него нечего. Итак, как и ожидалось.
Intent
- это просто общий класс хранения, обычно используемый для передачи данных в стандартном формате между одним действием и другим.
Они используют keys
для передачи определенных данных между Activity. Одним из keys
, используемых Системным действием NFC для передачи данных, связанных с NFC, в ваше действие, является ключ NfcAdapter.EXTRA_TAG
.
Намерение не имеет ничего общего с фактическим чтением тега NFC, они просто используются как метод связи, чтобы попросить Системную активность NFC сделать что-то и как оно может вернуть данные.
Таким образом, вы можете создавать их где угодно, с большим количеством различного контента и передавать их любому Activity, чтобы передать ему данные или получить их для отправки данных.
Вы, кажется, плохо понимаете, как работает NFC в Android.
Основная концепция.
Старый API
Вы создаете Intent
с сообщением в системное приложение NFC, в котором говорится, что я хотел бы получать данные об определенных типах данных NFC, когда они попадают в диапазон, вы отправляете это Intent
сообщение System NFC Activity с использованием enableForegroundDispatch
, когда приложение System NFC видит, что тег правильного типа входит в диапазон, оно создает Intent
для хранения данных о теге NFC для отправки обратно в действие, которое его запросило. < br /> Используется общий метод межпроцессного взаимодействия.
Более новые API
Сделайте нечто подобное, когда enableReaderMode
вы используете специальный метод NFC для повторной отправки данных о том, какие теги вас интересуют, и он отправляет обратно в более конкретном формате, когда видит тег запрошенного типа входит в диапазон.
Пример более нового API https://stackoverflow.com/a/64921434/2373819
Фильтр манифеста Фильтр манифеста не зависит от старого и нового API, он предназначен для хранения информации, которую системное приложение NFC может использовать, чтобы решить, следует ли запускать ваше приложение при обнаружении определенного типа карты NFC. . Их можно использовать как со старым, так и с новым API, но они передают сообщение Ìntent
, используя те же поля, что и старый API, в ваше приложение, его можно читать и обрабатывать из onCreate
с помощью getIntent
.
Таким образом, создание new
и пустое Intent
и ожидание волшебного получения данных NFC неверно.
person
Andrew
schedule
22.01.2021
intent
содержит значение поNfcAdapter.EXTRA_TAG
ключу? - person fartem   schedule 22.01.2021