2013-05-14 5 views
0

Я работаю над приложением чтения тегов RFID для NFC, которому нужно просто прочитать номер идентификатора NFC и записать его в EditText в некотором активном действии NOT MAIN. Чтение NFC - это лишь одна из сотен функций в этом приложении. Когда я тестирую его на сотовом телефоне Panasonic dl1, когда я касаюсь тега NFC на телефоне, первый телефон показывает мне диалог с выбором приложения для обработки - всего 2 приложения отображаются «Теги» и «Стартовый список NFC». Если я выберу NFC Starter List NFC, я пройду через длительный процесс регистрации IC-карты и назвав ее, а в конечном итоге - выбрав приложение, которое должно запускаться автоматически, когда тег близок. Если я выберу теги, в списке будет отображаться комментарий «Неизвестный тег». Мое приложение имеет следующие функции и фильтры: Как читать теги NFC для предотвращения системных диалогов Список стартеров NFC и отображаемые теги

<activity 
     android:name="pl.infis.spedycja.activities.LoginActivity" 
     android:label="@string/app_name" 
     android:theme="@style/infisTheme" 
     android:windowSoftInputMode="stateUnspecified|adjustPan" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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

      <category android:name="android.intent.category.DEFAULT" /> 

      <data android:mimeType="text/plain" /> 
     </intent-filter> 
    </activity> 

Есть ли возможность ходить вокруг этого диалога системы и сделать это таким образом: , когда мое приложение работает, когда я приношу NFC тег близко к телефону (независимо от того, первый или второй раз), запускается некоторая активность, затем отображается идентификатор тега NFC в текстовом редакторе, и все это? P.S Я попытался с добавлением фильтра не-пусковой деятельности, но она не ответила - всегда откликался активность Launcher

ответ

2

Так я бы, вероятно, сделать это, чтобы создать BaseActivity класс, который позволяет NFC foreground dispatching. Всякий раз, когда он получает намерение NFC в onNewIntent(), он получает идентификатор тега и запускает соответствующее действие с намерением, которое содержит значение ID.

Я бы получил все мое приложение. Деятельность этого класса. Всякий раз, когда тег NFC проверяется во время работы приложения, он автоматически получает намерение NFC и отправляет его на нужную операцию (которая может показывать идентификатор тега).

Смежные вопросы