2012-01-26 7 views
2

Я работаю с NFC на Android, в частности с Android Beam. Мой вопрос: можно ли отключить поддержку Android Beam для активности?Отключить Android Beam для выбранных действий

Это то, что делают некоторые системные приложения, такие как обмен сообщениями: если другой телефон закрыт, мой телефон вибрирует, но экран «Touch to beam» не появляется, а другой телефон ничего не получает.

EDIT: Призвание:

NfcAdapter.setNdefPushMessage(NdefMessage message, Activity activity, Activity... activities) 

в onResume() с null сообщения должны сделать трюк (док говорит: «Передайте пустой ЦНК сообщение для отключения переднего плана ЦНКА толчка в указанной деятельности»), но не работает.

Благодаря

+0

Подождите, так что в основном это не работает для вас, вы фактически не хотите его отключать. оба телефона включены для луча андроида? его настройка на телефоне? – L7ColWinters

+0

Beam отлично работает, но я хочу отключить отправку сообщений для некоторых действий в моем приложении. Сейчас он активирован для каждого вида деятельности. – Venator85

+0

, который больше похож на вашу проблему с реализацией, чем на проблему api. как вы отправляете данные между nfc и вашими действиями? – L7ColWinters

ответ

0

Существует не способ сделать это в настоящее время. Может быть, вы можете предоставить опцию меню для отключения NFC в вашем приложении? Почему вы хотите сделать это, между прочим?

EDIT:

К сожалению, есть способ сделать это. Вызовите setNdefPushMessage() в действиях, которые вы не хотите нажимать на что-либо с нулевым сообщением NDEF. Дай мне знать, если это работает.

+0

Поскольку большинство действий в моем приложении не имеют ничего значимого для отправки, и если я попытаюсь отправить их, мое приложение будет запущено на другом телефоне, и я не хочу, чтобы это произошло. – Venator85

+0

Эй, я отредактировал мой ответ выше, пожалуйста, попробуйте это решение ... – robertly

+0

Я отредактировал мой вопрос, также указав на тот же метод, но это не сработало :( – Venator85

4

Когда я делаю это так, он работает как шарм.

NfcAdapter adapter = NfcAdapter.getDefaultAdapter(this); 
adapter.setNdefPushMessage(null, this, this); 
Смежные вопросы