NFC & Kotlin: как разделить строку между двумя устройствами? - PullRequest
0 голосов
/ 08 ноября 2019

Я читал эту статью о NFC и Kotlin и пытался внедрить Код в моём приложении. Я хочу отправить строку с одного устройства (от клиента) на принимающее устройство (поставщика) для более быстрой регистрации (например, если вы забронировали стол, устройство считывает идентификатор бронирования из приложения клиента иотображает соответствующую информацию на устройстве-поставщике. Проблема заключается в том, что:

       this.nfcAdapter?.setOnNdefPushCompleteCallback(outcomingNfcCallback, this)
        this.nfcAdapter?.setNdefPushMessageCallback(outcomingNfcCallback, this)

оба Обратных вызова от адаптера NFC устарели начиная с API 29.

Так что есть ли другой способ оставитьсделать это?

1 Ответ

0 голосов
/ 11 ноября 2019

В документации Google упоминается следующее об устаревании:

Обмен файлами может работать с использованием другой технологии, например Bluetooth.

Указывает, что функция изначально предназначалась для обмена файлами, а не для отправки коротких строк.

На ум приходят два решения:

  • На устройстве клиента вы генерируете QR-код, содержащий строку, которую вы хотите отправить. С помощью устройства поставщика вы сканируете QR-код. Этот способ часто используется для мобильных платежей и приложений для вознаграждения / скидки клиентов.

  • Веб-служба, в которой клиент отправляет свой идентификатор, а затем информация возвращается из базы данных.

Вы также можете объединить эти подходы, например, позволив клиенту отсканировать статический печатный QR-код, содержащий идентификатор поставщика. С помощью идентификатора поставщика ваше приложение может затем отправить идентификатор бронирования клиента и идентификатор поставщика в веб-службу, после чего возвращается информация о бронировании.

...