我已经构建了一个使用谷歌地图功能的Android应用程序。我希望我的应用程序安装在不安装Google Map的手机上,在这种情况下,我会禁用地图功能。
清单文件中有一个“uses-library”标签,我该怎么做?
答案 0 :(得分:6)
@CommonsWare:我认为你是指 android:必需而不是 android:启用
这样的事情:
<uses-library
android:name="com.google.android.maps"
android:required="false" />
答案 1 :(得分:1)
android:enabled
上有一个未记录的<uses-library>
属性。但是,Dianne Hackborn在讨论中提到它,告诉我们使用它,所以我希望这是一个文档错误,并且它是真正支持的。
拥有android:enabled="false"
,然后使用反射查看是否存在MapActivity
,应该为您提供所需的AFAIK。
答案 2 :(得分:0)
你绝对应该使用反射。使您的地图活动成为Singleton并为其公共方法创建一个接口。然后使用try catch通过类加载器检查类是否存在。如果是这样,请在try中调用start activity。如果需要与类进行交互,则将类型接口的实例声明为数据成员,并使用反射与其进行交互。