Android Url方案意图不使用get参数

Android Url方案意图不使用get参数,android,android-intent,intentfilter,url-scheme,chrome-custom-tabs,Android,Android Intent,Intentfilter,Url Scheme,Chrome Custom Tabs,我目前正在开发一个基于OpenId Connect和Chrome CustomTabs的身份验证应用程序。在身份验证过程中,用户被发送到重定向URL,我在这里遇到了一些问题 在我的应用程序中,我有以下意图过滤器: <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFA

我目前正在开发一个基于OpenId Connect和Chrome CustomTabs的身份验证应用程序。在身份验证过程中,用户被发送到重定向URL,我在这里遇到了一些问题

在我的应用程序中,我有以下意图过滤器:

<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="sncfapp" android:host="callbackrurl" />
</intent-filter>

然而,这种意图有时并不奏效。似乎每次在URL中使用字符“&”,都不会触发意图。我得到了一个错误未知的URL方案

我尝试通过adb启动一些URL(还有另一个接收者),以下是我的结果:

OKadb shell am start-a android.intent.action.VIEW-d“适合bittester://logincallback"

OKadb shell am start-a android.intent.action.VIEW-d“sncfapp://callbackrurl"

OKadb shell am start-a android.intent.action.VIEW-d "sncfapp://callbackrurl?code=45644546"

NOKadb shell am start-a android.intent.action.VIEW-d“sncfapp://callbackrurl?code=45644546&scope=test%20"

OKadb shell am start-a android.intent.action.VIEW-d“sncfapp://callbackrurl?scope=test%20"

OKadb shell am start-a android.intent.action.VIEW-d“适合bittester://logincallback?scope=test%20"

NOKadb shell am start-a android.intent.action.VIEW-d“适合bittester://logincallback?scope=test%20& 代码=1144“


这正常吗?我知道这些意图应该与REST参数一起使用。然而,调用带有get参数的URL时不会触发意图似乎很奇怪。

使用URL编码,因为我可以看到“&”出现后有一个空格,这导致了此问题

使用Url编码,因为我可以看到在“&”之后有一个空格,这导致了这个问题

我找到了一个解决方案:我必须使用转义字符“\”才能将&字符与ADB一起使用

$adb shell am start“\¶m2=2”


以下是我找到的解决方案:我必须使用转义字符“\”才能将&字符与ADB一起使用

$adb shell am start“\¶m2=2”


这不是我的问题。由于“&”字符,甚至不会触发意图过滤器。我真的不介意,知道我的新活动是不是叠在另一个上面。这不是我的问题。由于“&”字符,甚至不会触发意图过滤器。我真的不介意,我不知道我的新活动是否叠加在另一个活动之上。