如何通过Android上的意图启动“谷歌地图导航”

时间:2019-05-03 04:18:15

标签: android google-maps

我正在开发一个具有通过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);

我正在研究并且找不到有关此的任何文档,那么该怎么做?

1 个答案:

答案 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();
            }
        }