1

我已将 Google MAPs API 添加到我的应用程序中,但这不是关键部分。我希望我的应用程序在缺少此库的系统上运行,但在用户尝试访问地图功能时避免出现异常。我尝试在我的活动周围放置 try/catch 块,但它似乎无法捕获丢失的库异常。在开始我的地图活动之前,有什么方法可以检测到地图库丢失了吗?

更新:我问这个问题的原因是因为我买了MK802 Android mini PC,我相信这个设备会很受欢迎。它随 Android 4.0 一起提供,但缺少地图 api 库。我希望我的应用可以安装在设备上。目前,我的应用程序运行良好,但当用户尝试访问地图功能(不是很重要的功能)时崩溃。我想我可以忍受这一点,但如果可能的话,最好避免出现异常。

4

1 回答 1

2

Google 提供了一篇关于如何在 Android 版本之间执行此操作的文章。即,我如何访问特定版本的 Android 中的 api,但如果它在另一个版本的 Android 中不存在,则优雅地失败。此处可以对代码的地图部分使用相同的前提。

http://developer.android.com/resources/articles/backward-compatibility.html

底线是您正在使用反射来完成此操作。

使用反射的原因是因为如果您的活动导入了另一个类但该类不存在,那么将无法创建活动。使用反射解决了这个问题,因为您将能够尝试/捕获类实例化。

于 2012-06-17T19:08:00.023 回答