首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MapActivity上的NoClassDefFoundError

MapActivity上的NoClassDefFoundError
EN

Stack Overflow用户
提问于 2013-06-14 20:49:35
回答 1查看 300关注 0票数 0

在某些设备上,我们的应用程序在启动地图活动时会出现NoClassDefFoundError崩溃。

是的,我们有运行MapActivity所需的权限、库和所有需要的东西。它在99.9%的设备上都工作得很好(所有的设备都有google服务...)

然而,有2-3个我从未听说过的设备(例如: Prestigio - PAP4040_DUO或MID - PAD-FMD700P或rockchip AN9G2)似乎没有谷歌的服务,也没有打开地图活动的可能性。

有没有机会检测到这一点,并可能显示类似“您的手机不支持谷歌地图,对不起”之类的东西?

(是的,我们可以忽略您的2-3台设备,但我们尝试支持所有设备)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-14 20:55:51

是否有机会检测到这一点,并可能显示类似“您的手机不支持谷歌地图,对不起”之类的内容?

如果你的MapActivity没有绑定到一个启动器图标上。我的猜测是您的NoClassDefFoundError来自MapActivity或来自地图V1 SDK附加组件的其他内容。在这种情况下,在尝试启动任何V1之前,请使用Class.forName()检测是否有来自地图MapActivity的类。

This sample project演示了这一点。启动器图标被绑定到具有以下onCreate()Theme.NoDisplay活动

代码语言:javascript
复制
  public void onCreate(Bundle instanceState) {
    super.onCreate(instanceState);

    try {
      Class.forName("com.google.android.maps.MapActivity");
      startActivity(new Intent(this, NooYawk.class));
    }
    catch (Exception e) {
      Toast
            .makeText(this,
                       "Google Maps are not available -- sorry!",
                       Toast.LENGTH_LONG)
            .show();
    }

    finish();
  }

如果我们检查MapActivity是否存在的测试成功,我们就可以安全地启动一个MapActivity (这里名为NooYawk)。如果我们得到一个异常,我们简单地退出一个Toast

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17108851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档