После установки Android 2.3.4 на Nexus S приложения NFC больше не запускаются - PullRequest
0 голосов
/ 18 мая 2011

После установки Android 2.3.4 на мой Nexus S приложения NFC больше не запускаются.

Я пробовал с тремя намерениями (NDEF_DISCOVERED, TECH_DISCOVERED, TAG_DISCOVERED), описанными в документации Google, но любое из них решает проблему, Nexux S продолжает открывать приложения Google по умолчанию и игнорирует мое приложение.

У меня было это в манифесте

<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED"/>
</intent-filter>

и если я не ошибаюсь, кажется, что это поддерживается новостями 2.3.3, почему Nexus S игнорирует это?

Не могли бы вы помочь мне, пожалуйста.

С наилучшими пожеланиями, Hugo.

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

Вы также должны добавить данные в фильтр намерений. Пожалуйста, обратитесь к http://developer.android.com/guide/topics/nfc/nfc.html#tech-disc

и посмотрите ACTION_NDEF_DISCOVERED в разделе Фильтрация для намерений NFC.

1 голос
/ 19 мая 2011

Вам необходимо добавить это к вашим фильтрам намерений:

<intent-filter>
   <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
</intent-filter>

Когда сканируется тег, Android должен показывать всплывающее окно, спрашивающее, какое приложение должно его обработать.

Обновление

Основываясь на дополнительной информации из вашего комментария, проблема в том, что ваш тег содержит информацию, которая распознается Android.В данном случае это URL.Поскольку Android может найти приложение (приложение NFC по умолчанию), которое может обрабатывать URL-адреса, то это приложение будет иметь приоритет и вызываться вместо приложения, которое просто обрабатывает обнаружение тегов.Обнаружение тега отправляется только в том случае, если никакой другой фильтр намерений не соответствует тегу.Чтобы процитировать документы:

android.nfc.action.TAG_DISCOVERED: Это намерение начинается, если никакие действия не обрабатывают намерения NDEF_DISCOVERED и TECH_DISCOVERED или если сканируемый тег неизвестен.

Таким образом, вы должны объявить свой тег для обработки сообщений в тегах. Вам также необходимо точно указать тип данных, на которые вы нацеливаетесь (в данном случае, URL), иначе приложение Google Android все равно будет иметь приоритет для URL. Вы можете прочитать больше информации на Страница Android NFC

...