Я добавляю возможности NFC/Beam в свое приложение и хочу, чтобы оно работало максимально автоматически. Я хотел бы избавиться от экрана «Touch To Beam» от отправителя и экрана «Отсканировано нового тега» от получателя. По сути, я хочу, чтобы это работало, как в рекламе Samsung!!! Я прочитал в stackoverflow, что, похоже, нет способа избавиться от экрана «Touch To Beam», однако я надеюсь, что у кого-то есть обновленная информация или кто-то знает, как удалить экран приемника. Спасибо!
Делаем NFC/Beam более автоматическими
Ответы (2)
Отправляющая сторона
При использовании одноранговой связи NFC (также известной как Android Beam) между двумя устройствами Android (4.0+) невозможно избежать пользовательского интерфейса Beam. Таким образом, передача данных без «Touch to Beam» невозможна.
До Android Beam (фактически Android 2.3.3-2.3.7) это было возможно с помощью переднего плана NDEF push (который теперь (a) устарел и (b) в Android 4.0+ реализован через Beam). В этом случае сообщения NDEF немедленно передаются без окна «Touch to Beam».
Начиная с Android 4.4, есть возможность обмениваться данными между двумя устройствами Android через NFC без пользовательского интерфейса Beam (фактически вообще без использования Android Beam и однорангового режима): если оба устройства 4.4+, одно устройство может использовать Android HCE для эмуляции бесконтактной смарт-карты, и одно устройство может использовать API режима чтения (это работает только с API режима чтения, представленным в версии 4.4, поэтому оба устройства должны быть версии 4.4+) для связи с эмулируемой смарт-картой.
Принимающая сторона
Если вы отправляете сообщение NDEF через Beam, вы можете, по крайней мере, заставить принимающую сторону делать то, что вы хотите. В этом случае вам необходимо зарегистрировать правильный фильтр намерений NDEF_DISCOVERED (который соответствует типу записи/типу данных первой записи NDEF отправленного сообщения NDEF) в файле AndroidManifest.xml вашего приложения.
Вы можете вручную управлять передачей через foregroundDispatch http://developer.android.com/guide/topics/connectivity/nfc/advanced-nfc.html Это позволит вашему приложению автоматически отправлять сообщения.
Что касается получения, вы можете использовать действие, чтобы просто поймать намерение и перенаправить его в службу для обработки.