1

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

调试/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>

知道我缺少什么吗?任何建议将不胜感激。

4

1 回答 1

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>

于 2012-05-25T02:04:27.597 回答