深层链接:昵称字段崩溃优步应用程序

时间:2016-05-17 22:22:21

标签: uber-api

我正在尝试将我的应用程序与优步应用程序进行深层链接。这是我用作测试的代码:

String uri = "uber://?action=setPickup&pickup=my_location&dropoff[latitude]=-23.56491&dropoff[longitude]=-46.652005&dropoff[formatted_address]=Av Paulista, 1000 - Bela Vista&dropoff[nickname]=Meeting: Av Paulista, 1000 - Bela Vista";

        Intent intent = new Intent(Intent.ACTION_VIEW);

        intent.setData(Uri.parse(uri));
        startActivity(intent);

问题在于":" in" dropoff [nickname] =会议:Av Paulista,1000 - Bela Vista"崩溃优步应用程序(应用程序打开,超级加载屏幕出现一段时间,然后应用程序崩溃)。如果我删除":",它可以顺利运行。

我能做些什么吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

:是URI方案中的保留字符,可能需要% - 编码(即%3A)。

(您的URI中还有其他保留字符,例如[],但可能由于某种原因Uber应用对:敏感。我不会# 39;相信你应该真正编码:,因为它不能作为一个分隔符,但它值得一试。)

请参阅RFC 3986 section on percent encoding以及附近有关保留字符的部分。