Начать деятельность с 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. Что мне не хватает?