gpt4 book ai didi

android - 当我想获取 map Uri 并转到 GoogleMap 或浏览器以显示位置时 Intent 出现问题

转载 作者:行者123 更新时间:2023-11-30 00:09:09 24 4
gpt4 key购买 nike

我正在尝试将经度和纬度以及 Intent 用户获取到 map ,但出现错误,我在 Stack 中搜索过,我的方法与其他人完全相同,但是当我调用 startActivity 时我崩溃了( Intent )方法。

这是我的代码:

public void routReq(View view) {

if(saloon.getEntity_address() != null) {

String uri = "http://maps.google.com/maps?q=loc: " + saloon.getEntity_address().getLatitude()+","+saloon.getEntity_address().getLongitude()+"&mode=d";

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse(uri));
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);
} else {
Snackbar.make(view, "there's no map for this place!", Snackbar.LENGTH_LONG).show();
}

}

这就是 android studio 给我的原因:

Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.google.android.apps.maps/com.google.android.maps.MapsActivity}; have you declared this activity in your AndroidManifest.xml?

我确实在 list 中声明了。

<activity
android:theme="@style/viewSaloneTheme"
android:name="ir.drax.beautyTime.Activities.ViewSalon"
android:screenOrientation="portrait" />

还有:

Caused by: java.lang.reflect.InvocationTargetException

最佳答案

您将收到 ActivityNotFoundException,这仅仅是因为您的 Intent 未在定义的包中找到定义的 activity。所以,不要使用 setClassName 作为,

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri));
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);

使用setPackageName。作为,

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri));
intent.setPackage("com.google.android.apps.maps");
startActivity(intent);

因此,GoogleMap 会在内部处理您的 Intent (在其定义的 Activity 中)。它会起作用。

关于android - 当我想获取 map Uri 并转到 GoogleMap 或浏览器以显示位置时 Intent 出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48473918/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com