带有NFCF的Android p2p(Sony Felica)

时间:2011-10-14 13:55:54

标签: android nfc sony nfc-p2p

我正在尝试开发一个连接到Sony Felica NFC芯片并执行P2P读/写操作的Android应用程序。在调试模式下,我可以看到手机与设备建立连接。当手机处于NFC设备的范围内时,它会反复将以下内容打印到日志中:

DEBUG / NFC JNI(194):发现P2P目标

DEBUG / NfcService(194):LLCP激活消息

但是,它无法启动我的应用程序。

在我的Manifest文件中,我将应用程序设置为在发现标记时运行

<?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>

知道我错过了什么吗?任何建议都将不胜感激。

1 个答案:

答案 0 :(得分: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" />

创建一个名为nfc_tech_filter.xml的xml,添加内容:

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