Начать деятельность с NFC

Я пытаюсь выяснить, как запустить конкретное действие, когда устройство Android подвергается nfc-карте с записью приложения в сообщении ndef. Деятельность, которую я пытаюсь запустить, не является родительской деятельностью, которая может быть причиной моих проблем...

Карты 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, с и без префикса с косой чертой, с и без трейлинга ":pkg".

И я также попытался использовать фильтр намерений для записи uri, но безуспешно, вот так:

<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 ответов

Другие вопросы по тегам