Android在&符号后修剪了深层链接URI的其余部分

时间:2015-05-26 06:56:04

标签: android android-intent android-manifest hook deep-linking

我试图为我的Android应用添加另一个深层链接,我希望我的URI看起来像这样: my_app:// photos?id = 147619727001201& edit = true 。问题是系统没有识别出这个URI,所以我只是修剪它的版本( my_app:// photos?id = 147619727001201 )。我只是好奇android系统如何处理深层链接,以及是否有任何方法可以使这个URI工作。我不想提及一切都适用于我的其他URI,它们不包含&符号。这是我的意图过滤器:

               <intent-filter android:label="My Item">
                    <action android:name="android.intent.action.VIEW" />

                    <category android:name="android.intent.category.BROWSABLE" />
                    <category android:name="android.intent.category.DEFAULT" />

                    <data
                        android:path="/photos"
                        android:pathPattern="\?"
                        android:scheme="my_app" />
                </intent-filter>

以下是我在创建方法上的活动:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Uri target = getIntent().getData();
    }

在以下命令之后:

adb shell am start -a android.intent.action.VIEW -d "my_app://photos?id=170262497002201&edit=true"

我在 target.toString();

my_app:// photos?id = 170262497002201

2 个答案:

答案 0 :(得分:5)

尝试使用此命令:

adb shell am start -a android.intent.action.VIEW -d "my_app://photos?id=170262497002201%26edit=true"

问题是平台工具版本21中的错误 bug issue

答案 1 :(得分:0)

你也可以尝试逃避'&amp;'字符在它之前添加'\'

例如:

adb shell am start -a android.intent.action.VIEW -d "fantasticapp://www/?cc=de\&tagset=123" robertoduran.isthegreatest