使用可选缺少的库时如何避免异常

时间:2012-06-17 18:55:20

标签: android access-violation

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

更新我之所以问这个问题,是因为我买了MK802安卓迷你电脑,我相信这款设备会很受欢迎。它附带Android 4.0,但缺少地图api库。我希望我的应用程序可以在设备上安装。目前,我的应用程序运行正常,但在用户尝试访问地图功能时崩溃(不是非常重要的功能)。我想我可以忍受这种情况,但如果可能的话,最好避免得到例外。

1 个答案:

答案 0 :(得分:2)

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

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

最重要的是你正在使用反射来实现这一目标。

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