【发布时间】:2011-06-30 15:52:11
【问题描述】:
我已经为地图创建了自定义意图选择器(所有已安装在移动设备中的地图)。但是现在我无法通过它来传递纬度/经度。我的代码用于获取所有地图:
final String mapUri = "geo:"+lat+ "," + lon + "?q="+ address;
Intent mapIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(mapUri));
final PackageManager packageManager = getPackageManager();
final List<ResolveInfo> mapList = packageManager.queryIntentActivities(mapIntent, 0);
为了启动我正在使用的地图:
intentBuilder.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,int item)
{
Intent i = null;
try
{
i = pm.getLaunchIntentForPackage(mapList.get(item).activityInfo.packageName);//.getIntent(uri);
startActivity(i);
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dialog.dismiss();
}
});
AlertDialog alert = intentBuilder.create();
alert.show();
这会打开地图,但没有任何位置。如何将 lat/lon 或 URI 传递给它?
【问题讨论】: