Этот вопрос в значительной степени дублируется, но связанная проблема никогда не была решена, а поток - несколько месяцев, поэтому я не хотел его воскрешать.
По умолчанию поведение приложений, запущенных на устройстве 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);
}
Кто-нибудь знает, действительно ли можно отключить нажатие на активность? Несколько системных приложений делают это, но я не смог найти код, который достигает этого. Буду признателен за любую оказанную помощь.
Это похоже на ошибку в Android ICS. Хотя в документации указано, что вы должны отключить ее, установив NDEF-сообщение null, это просто не работает. Хорошей новостью является то, что она исправлена и теперь работает в Android 4.1 Jellybean.