Могу ли я использовать псевдоним активности в качестве поля AAR для тега NFC?

Я попытался сделать это:

<application android:label="@string/app_name" >
    <activity android:name="com.blablabla.NfcLauncherActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoDisplay">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.LAUNCHER" />
            <data android:mimeType="text/plain" />
        </intent-filter>
    </activity>

    <activity-alias
        android:enabled="true"
        android:exported="true"
        android:label="an alias"
        android:name=".AnAlias"
        android:targetActivity="com.blablabla.NfcLauncherActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.LAUNCHER" />
            <data android:mimeType="text/plain" />
        </intent-filter>
    </activity-alias>

Если я пишу com.blablabla как AAR в теге, все работает нормально, но если я пишу.AnAlias ​​просто приводит меня в магазин Play. Я попытался удалить намерения в реальной деятельности (на самом деле, я пробовал все комбинации намерений) и все еще та же проблема.

Я делаю что-то не так или просто неправильно понял варианты использования псевдонимов?

1 ответ

Решение

Нет, AAR может указывать только имя пакета приложения, а не имя конкретного действия (или псевдоним активности).

Однако обычно в качестве первой записи в теге обычно добавляется дополнительная запись NDEF, например запись внешнего типа. Затем вы можете настроить намеренный фильтр вашего псевдонима активности для фильтрации для этого внешнего типа:

Если ваш внешний тип - blablabla.com:mytype, ваш псевдоним активности должен иметь следующий фильтр намерений:

<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="/blablabla.com:mytype" />
</intent-filter>
Другие вопросы по тегам