Android 意图过滤器删除查询字符串

Jak*_*ke_ 2 android deep-linking android-intent

intent-filter我在我的节点中定义了一个数据标签,AndroidManifest.xml如下所示:

<data
    android:scheme="http"
    android:host="example.com"
    android:pathPrefix="/path/pageEnum" />
Run Code Online (Sandbox Code Playgroud)

我想要捕捉的路径是http://example.com/path/pageEnum?one=1&two=2&three=3

adb我正在这样启动意图:

adb shell am start -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "http://example.com/path/pageEnum?one=1&two=2&three=3"

目标活动已成功启动,但是当我调用getIntent().getDataString()字符串onCreate()值时http://example.com/path/pageEnum?one=1

除第一个查询参数之外的所有查询参数都将被删除。

是否有任何解决方法可以确保我获得所有查询参数?

谷歌的文档中没有任何关于此行为的内容。

Sim*_*uis 5

您应该用单引号将 adb shell 命令括起来:

adb shell 'am start -a android.intent.action.VIEW -c android.intent.category.BROWSABLE -d "http://example.com/path/pageEnum?one=1&two=2&three=3"'