如何使用意图打开 Sygic 地图?

问题描述

我正在尝试使用

sygic 应用程序中搜索一个位置
  String str = "com.sygic.aura://search|Gas%station";
  startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse(str)));

正如 documentation 所期望的那样。但是代码只打开应用程序,搜索栏是空的。它不搜索任何内容

我做错了什么?我花了几个小时试图寻找并找出解决方案。

解决方法

根据我对 sygic 文档和谷歌的研究(我没有使用过 sygic 应用程序),如果你还没有这样做,你可以做的尝试很少

  1. 如果 %20 不能解决问题,请尝试在搜索字符串中使用 + 符号表示空格,例如 Gas+Station。 URL encoding the space character: + or %20?

  2. 由于文档中提到要遵循编码,请尝试按照文档示例重写 Url ” 请注意,对于大多数用途,参数字符串需要进行 URL 编码(所谓的百分比编码)。 它通常与以下字符有关:“#%[]^`{|} 和空格。有关确切规则,请查看编码文档 示例:代替 com.sygic.aura://route_download|http://dat.my.com/my route.sif 使用 com.sygic.aura://route_download%7Chttp%3A%2F%2Fdata.my.com%2Fmy%20route.sif"

  3. 查看文档中提供的此示例。也许你想把“加油站”分成 2 个字符串

    字符串 lon = "15.06591"; 字符串纬度 = "47.73341"; 字符串类型 = "驱动"; String str = "com.sygic.aura://coordinate|" + lon + "|" + 纬度 + "|" + 类型; 开始活动(新意图(Intent.ACTION_VIEW,Uri.parse(str)));