Я пытаюсь передать параметры глубоким ссылкам в Android, и это не работает.
Я указал переменную hostName
в файле app/build.gradle
, чтобы различать UAT и рабочие URL-адреса.На эту переменную hostName
ссылаются в AndroidManifest.xml
примерно так:
<activity
android:name=".ui.MyActivity"
android:theme="@style/MyTheme"
android:configChanges="orientation"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- deep links for home page. -->
<data
android:scheme="https"
android:host="${hostName}"
android:pathPrefix="/login.jsp?signup=true" />
</intent-filter>
</activity>
Я пытаюсь использовать adb
для проверки на глубокие ссылки, например:
adb.exe shell am start -W -a android.intent.action.VIEW -d "https://www.mywebsite.co.in/login.jsp?signup=true" com.myapp.ui.MyActivity
Ошибка, которую я получаю:
Starting: Intent { act=android.intent.action.VIEW dat=https://www.mywebsite.co.in/... pkg=com.myapp.android.alpha }
Error: Activity not started, unable to resolve Intent { act=android.intent.action.VIEW dat=https://www.mywebsite.co.in/... flg=0x10000000 pkg=com.myapp.android.alpha }
Я прочитал несколько подобных вопросов здесь, на SO, и все они предлагают экранировать специальные символы.Но это не сработало в этом случае.
Любые идеи по решению этой проблемы будут приветствоваться.