我已经看到了一些URI来开始导航,但我并没有说服它。 我使用这个启动浏览器或谷歌地图的URI:
Uri u = Uri.parse("google.navigation:q=" + Uri.encode(o.getLocalization().noZipString()));
Intent in = new Intent(Intent.ACTION_VIEW, u);
getActivity().startActivity(in);
这启动谷歌导航:
Uri u = Uri.parse("http://maps.google.com/maps?daddr=" + Uri.encode(o.getLocalization().noZipString()));
Intent in = new Intent(Intent.ACTION_VIEW, u);
getActivity().startActivity(in);
这两种方法都有效,但问题是 - 用户是否可以选择自定义导航(如果存在于手机上)或Google应用是唯一可以通过此方式启动的应用?我不太确定,这些字符串看起来不太普遍,但我现在还不能测试它。我已经看到导航供应商在他的网站上发布了自己的自定义URI方案,但我不打算为市场上的每一个导航搜索自定义URI ...
答案 0 :(得分:0)
这在很大程度上取决于应用程序本身。如果应用程序定义它可以处理隐式意图,那么Android将在选择应用程序对话框中提供这些意图。
而且,据我所知,只有Android M能够在应用设置窗格中显示应用可以处理哪些链接。
See this android developer article on linking to other applications.