Есть ли возможность читать теги NFC с Android без намерений? - PullRequest
0 голосов
/ 11 декабря 2019

Я немного растерялся при использовании NFC с Android.

Я хочу сделать следующее: - Использовать один тег NFC в качестве токена - Прочитать его в Android и показать некоторые функциональные возможности - Если телефон удален изtoken dipaly message - если телефон переподключается или подключается к другому токену, показывает другую функциюallity

Я использовал фильтр намерений в файле AndroidManifest для android.nfc.action.NDEF_DISCOVERED и xml для фильтрации android.nfc.action.TECH_DISCOVERED.

Основное действие открывается успешно, и если к нему прикрепляется другой тег

 @Override
    protected void onNewIntent(Intent intent) { ...}

.

Я также использую таймер, чтобы проверить, подключен ли тег (в основном ndefTag.connect(); NdefMessage ndefMsg= ndefTag.getNdefMessage(); и затем выглядит более влажным, что-либо получено.

Я установил режим запуска Activity на android:launchMode="singleInstance, так как в противном случае приложение полностью перезапускалось каждый раз, когда на телефон помещался новый тег.

Теперь я полностью потерян с системой намерений, так как обычно main запускал другие действия, а с намерением - возвращался к основному с потерями текущего переменного тока. Активность и текущая информация на экране.

Итак, мой вопрос состоит из двух частей: - действительно ли это так сложно, что намерения нужно использовать? Не могу ли я как-нибудь подключиться к NFC-ридеру телефона и просто опрашивать устройство каждые несколько секунд? Спросите, связан ли тэг и какие данные на тэге. С комбинацией NDEF_DISCOVERED / TECH_Discovered я видел, что иногда она просто зависает. (также, если это не SingleInstance-Activity - новое действие иногда не запускается). (предпочтительно) - или есть какой-то чистый способ перенаправить NFC-Intents на реальную активность приложения? Или сказать во время выполнения, что main должен вызываться не как фоновая задача, которая обрабатывает соединения?

...