首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Intent.createChooser的Waze导航和Google显示Waze图标两次

使用Intent.createChooser的Waze导航和Google显示Waze图标两次
EN

Stack Overflow用户
提问于 2017-11-16 09:13:49
回答 1查看 3.6K关注 0票数 6

在找到答案之后,我提出了这个问题,我不确定礼仪,但它是seems to be OK (另外,我看到现在有一个内置的选项)。

问题就像标题中描述的那样,我们使用类似于以下代码创建了一个意图选择器:

代码语言:javascript
复制
String url = "waze://?ll=" + latitude + ", " + longitude + "&navigate=yes";
Intent intentWaze = new Intent(Intent.ACTION_VIEW, Uri.parse(url));

String uriGoogle = "google.navigation:q=" + latitude + "," + longitude;
Intent intentGoogleNav = new Intent(Intent.ACTION_VIEW, Uri.parse(uriGoogle));

String title = context.getString(R.string.title);
Intent chooserIntent = Intent.createChooser(intentGoogleNav, title);
Intent[] arr = new Intent[1];
arr[0] = intentWaze;
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, arr);
context.startActivity(chooserIntent);

还有两个Waze图标和一个Google图标;更糟糕的是,其中一个Waze图标没有启动导航(只打开应用程序)。

我们不能geo:意图,因为我们需要控制显示的意图(我们不想在任何时候都显示意图)和Google中的导航类型(例如:&mode=w)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-16 09:13:49

过了一段时间,我使用了解决方案found here,只有一个图标正常工作。正如我在问题中所写的,我不能使用这个解决方案,因为它缺乏我所需的灵活性,所以在查看代码之后,我发现缺少的是:

代码语言:javascript
复制
intentWaze.setPackage("com.waze");
// and more importantly, this:
intentGoogleNav.setPackage("com.google.android.apps.maps");

看起来Waze在听Google的意图(而且不能很好地使用它),这就是为什么有两个图标。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47325631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档