我正在尝试将参数传递给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 }
我在此处已阅读了许多类似的问题,所有这些问题都建议转义特殊字符。但这在这种情况下不起作用。
任何欢迎您解决此问题的见识。
答案 0 :(得分:0)
android:pathPrefix
在您的AndroidManifest.xml中无效。
它应该只包含path元素,而不包含查询:
android:pathPrefix="/login.jsp"
答案 1 :(得分:0)
查询字符串?signup=true
不是路径的一部分。您无法过滤查询字符串。