Отключить Android Beam условно

1

Этот вопрос в значительной степени дублируется, но связанная проблема никогда не была решена, а поток - несколько месяцев, поэтому я не хотел его воскрешать.

По умолчанию поведение приложений, запущенных на устройстве ICS с включенным Android Beam, - это нажать сообщение с приложением Uri, которое будет обрабатываться Google Play на принимающей стороне.

Я пытаюсь разработать действие, которое будет вызывать NdefMessage, если условие A истинно и в противном случае отключит pushing messages. Документация API для setNdefPushMessage(...) видимому, указывает на то, что это возможно, передав пустое сообщение:

Передайте нулевое сообщение NDEF для отключения NDEF переднего плана в указанных действиях.

Тем не менее, попытка простого запрета всех нажатий через следующий код по-прежнему приводит к появлению пользовательского интерфейса "Touch to Beam" и приложению, которое отправляется Uri...

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    getNfcAdapter().setNdefPushMessage(null, this);
}

Кто-нибудь знает, действительно ли можно отключить нажатие на активность? Несколько системных приложений делают это, но я не смог найти код, который достигает этого. Буду признателен за любую оказанную помощь.

Теги:
nfc
android-beam

1 ответ

3
Лучший ответ

Это похоже на ошибку в Android ICS. Хотя в документации указано, что вы должны отключить ее, установив NDEF-сообщение null, это просто не работает. Хорошей новостью является то, что она исправлена и теперь работает в Android 4.1 Jellybean.

  • 0
    Спасибо NFC парень. У меня было чувство, что это может быть так. Знаете ли вы, планируется ли перенести исправление на более ранние версии?
  • 0
    Без понятия. Я посмотрел на источник Android, и ошибка была не сразу очевидна (я не смог ее найти).
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню