我正在开发一个具有通过Intent链接到“ Google地图”以显示方向的功能的应用程序,它可以与使用Google Map的设备正常工作。 但是在某些设备中使用“ Google map go”和“ Navigation for google map go”,似乎这些应用无法像处理“ Google map”那样处理Intent。
我尝试将“ Google地图”软件包替换为“ Google map go ”和“ Google map go Navigation ”软件包。但这是行不通的。
Uri gmmIntentUri = Uri.parse("google.navigation:q=" + destinationPoint.latitude + "," + destinationPoint.longitude + "&mode=d");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.navlite");
context.startActivity(mapIntent);
我正在研究并且找不到有关此的任何文档,那么该怎么做?
答案 0 :(得分:0)
String uri = String.format(Locale.ENGLISH, "geo:%f,%f?z=%d&q=%f,%f(%s)",
latitude, longitude, 16, latitude, longitude,
"Your Location TEXT");
//Try for google Maps 1st.
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
intent.setPackage("com.google.android.apps.maps");
try
{
(getContext()). startActivity(intent);
}
catch(ActivityNotFoundException ex)
{
try
{//Now try for GO MAPS / Browser
uri = "http://maps.google.com/maps?daddr=" + latitude + "," + longitude ;
Intent unrestrictedIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
(getContext()).startActivity(unrestrictedIntent);
}
catch(ActivityNotFoundException innerEx)
{//Finally show a toast.
Toast.makeText((v.getContext().getApplicationContext()),
"Install Google maps") , Toast.LENGTH_LONG).show();
}
}