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
?
Я сам не знаю, так как код уже был там. псевдоним активности используется для открытия глубоких ссылок через уведомление. Если вы, ребята, считаете, что это не нужно, это не нужно. Но мне также нужна причина.
Бонус: , если вы знаете, почему псевдоним активности важен / необходим в этом случае.