使用NFC启动活动

时间:2014-10-26 07:42:08

标签: android nfc ndef android-applicationrecord

我试图找出当Android设备在ndef消息中使用带有应用程序记录的nfc卡时如何启动特定活动。我试图启动的活动不是父活动,这可能是我问题的原因...

nfc卡是用包含两条记录的ndef消息编写的,第一条是带有uri的URI记录" http://com.neodarque.nfc/item/52312321",然后是应用程序记录(使用NdefRecord.createApplicationRecord("com.neodarque.nfc")

创建

AndroidManifest.xml文件中的相关部分:

<activity
    android:name="com.neodarque.nfc.activities.LoginActivity"
    android:label="@string/app_name"
    android:windowSoftInputMode="adjustResize|stateVisible" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>
<activity
    android:name="com.neodarque.nfc.activities.MainActivity"
    android:label="@string/title_activity_main"
    android:parentActivityName="com.neodarque.nfc.activities.LoginActivity" >
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="com.neodarque.nfc.activities.LoginActivity" />
    <intent-filter>
        <action android:name="android.nfc.action.NDEF_DISCOVERED" />
        <category android:name="android.intent.category.DEFAULT" />
        <data
            android:scheme="vnd.android.nfc"
            android:host="ext"
            android:pathPrefix="/com.neodarque.nfc:pkg"/>
    </intent-filter>
</activity>

我也尝试过使用不同的android:pathPrefixes进行上述变体,使用和不使用斜杠作为前缀,使用和不使用尾随&#34;:pkg&#34;。

而且我也尝试过使用意图过滤器代替uri-record,没有运气,如下:

<intent-filter>
    <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:scheme="http" android:host="nfc.neodarque.com"/>
</intent-filter>

我的应用程序总是在设备接近我的nfc卡时启动,但它总是由我的LoginActivity启动。我错过了什么?

0 个答案:

没有答案