如何打开设备中安装的地图列表?

San*_*ndy 2 android dictionary

我想通过单击按钮打开设备上已安装的地图和导航应用程序的列表。如何获取已安装的地图应用程序的列表,例如:yahoo 地图、google 地图、bing 地图等。例如,我的手机上有 AT&T 地图、Google 地图、Google 导航和雅虎地图。现在,当用户单击按钮时,我只想打开一个包含所有内容的列表。

Mic*_*ael 5

您需要将空的 geo-URI 传递给意图选择器:

Intent intent = new Intent(Intent.ACTION_VIEW, "geo:0,0?q=");
startActivity(Intent.createChooser(intent, "Select application"));
Run Code Online (Sandbox Code Playgroud)

如果您想获取有关支持 geo-URI 的活动的信息,可以使用以下代码:

Intent intent = new Intent(Intent.ACTION_VIEW, "geo:0,0?q=");
List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent,
    PackageManager.MATCH_DEFAULT_ONLY);
Run Code Online (Sandbox Code Playgroud)