Jelly Bean и setBeamPushUris()

Я играю с JB и Beam. Я использовал пример кода, предоставленный Android, но я заполнил свой массив uri следующим образом:

NfcAdapter m_adapter = NfcAdapter.getDefaultAdapter(this); Uri uri1 = Uri.parse("http://www.effinnov.com") Uri myuri[] = new Uri[] {uri1}; m_adapter.setBeamPushUris(myuri, this);

и я получаю эту ошибку:

E/NFC ( 3101): Uri должен иметь либо файл схемы, либо содержимое схемы.

Может кто-нибудь дать мне совет?

Кроме того, я не уверен, что об этом думать: «Android Beam™ теперь поддерживает передачу больших объемов полезной нагрузки по Bluetooth. Когда вы определяете данные для передачи с помощью нового метода setBeamPushUris() или нового интерфейса обратного вызова NfcAdapter.CreateBeamUrisCallback, Android отключается. передача данных в Bluetooth или другой альтернативный транспорт для достижения более высокой скорости передачи. Это особенно полезно для больших полезных нагрузок, таких как изображения и аудиофайлы, и не требует видимого сопряжения между устройствами. Ваше приложение не требует дополнительных действий, чтобы воспользоваться преимуществами передачи через Bluetooth».

=> значит ли это, что передача больше не использует NFC? или он использует NFC, его содержимое маленькое, а Bluetooth другой?


person Luciflore    schedule 05.09.2012    source источник


Ответы (1)


Может кто-нибудь дать мне совет?

Вы можете передавать локальные файлы. Вы не можете передавать содержимое веб-страниц напрямую с http:// URL-адреса.

означает ли это, что передача больше не использует NFC?

Насколько я знаю, он не будет использовать NFC для передачи контента, где под «передачей» я подразумеваю такие вещи, как setBeamPushUris(). Радио NFC используется для инициации передачи, включая настройку соединения Bluetooth. NFC также используется для сценариев без луча, например для чтения метки NFC.

person CommonsWare    schedule 05.09.2012
comment
Итак, если я правильно понимаю, при использовании setBeamPushUris() NFC-радио инициирует только передачу по Bluetooth, поэтому она отличается от setNdefPushMessage(), где вся передача выполняется по NFC-радио. - person Luciflore; 05.09.2012
comment
@ Люцифлор: Правильно. setNdefPushMessage() и setNdefPushMessageCallback() также ограничивают вас сообщениями NDEF, а не произвольными файлами. - person CommonsWare; 05.09.2012