Фильтры намерений не работают с псевдонимом активности - PullRequest
0 голосов
/ 07 апреля 2020

Android Файл манифеста:

<activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
    android:screenOrientation="portrait"
    android:windowSoftInputMode="adjustResize">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        <action android:name="android.intent.action.DOWNLOAD_COMPLETE"/>
    </intent-filter>
</activity>
<activity-alias
    android:targetActivity=".MainActivity"
    android:name="${applicationId}.AliasMainActivity"
    android:label="@string/app_name"
    android:enabled="true"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="someapp" android:host="*" />
    </intent-filter>
</activity-alias>

Так что, когда я делаю,

adb shell am start -W -a android.intent.action.VIEW -d "someapp://some_deep_link"

показывает,

Starting: Intent { act=android.intent.action.VIEW dat=someapp://some_deep_link }
Error: Activity not started, unable to resolve Intent { act=android.intent.action.VIEW dat=someapp://some_deep_link flg=0x10000000 }

Но когда я переместите фильтр намерений с activity-alias на обычный activity, он начинает работать.

Кроме того, это реагирующее на родство приложение.

FAQ . Зачем вам нужно activity-alias?

Я сам не знаю, так как код уже был там. псевдоним активности используется для открытия глубоких ссылок через уведомление. Если вы, ребята, считаете, что это не нужно, это не нужно. Но мне также нужна причина.

Бонус: , если вы знаете, почему псевдоним активности важен / необходим в этом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...