Android p2p с NFCF (Sony Felica)

Я пытаюсь разработать приложение для Android, которое подключается к чипу Sony Felica NFC и выполняет операции чтения/записи P2P. В режиме отладки я вижу, что телефон устанавливает соединение с устройством. Когда телефон находится в зоне действия устройства NFC, он неоднократно печатает в журнал следующее:

DEBUG/NFC JNI(194): Обнаружена цель P2P

DEBUG/NfcService(194): сообщение об активации LLCP

Однако он не запускает мое приложение.

В моем файле манифеста я установил запуск приложения при обнаружении тега.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.tec.example"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="10" />

    <uses-permission android:name="android.permission.NFC" />
    <uses-permission android:name="android.permission.INTERNET" />
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".NFCTestActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.nfc.action.TAG_DISCOVERED"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>
    </application>
    <uses-sdk android:minSdkVersion="10"/>
    <uses-feature android:name="android.hardware.nfc" android:required="true"/>
</manifest>

Есть идеи, что мне не хватает? Любые предложения будут ценны.


person Luke Waldron    schedule 14.10.2011    source источник
comment
Проблема оказалась в микроконтроллере, подключенном к NFC-чипу.   -  person Luke Waldron    schedule 17.10.2011
comment
не могли бы вы показать свой класс NFCActivityTest?   -  person samwhocan    schedule 27.09.2012


Ответы (1)


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

изменить на:

<intent-filter>
            <action android:name="android.nfc.action.TECH_DISCOVERED" />
        </intent-filter>
       <meta-data  
            android:name="android.nfc.action.TECH_DISCOVERED"  
            android:resource="@xml/nfc_tech_filter" />

создайте xml с именем nfc_tech_filter.xml, добавьте содержимое:

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<tech-list>
   <tech>android.nfc.tech.NfcF</tech>
</tech-list>

person colin    schedule 25.05.2012
comment
Спасибо за ваш ответ, но оказалось, что код был правильным. Возникла проблема с микроконтроллером, подключенным к чипу NFC. - person Luke Waldron; 25.05.2012