我想开发一个包含地图功能并在Android OS上运行的应用程序。 我的问题是这个应用程序如何在没有谷歌地图库的Android设备上运行?
例如, 有一个活动包含一些片段,其中一个片段包括地图特征。在这种情况下,活动“必须”扩展地图库中的MapActivity。这对于使用GMS的设备没有问题,但是没有GMS的设备呢?
首先,我为AndroidManifest.xml中的地图库添加了一个'required =“false”'属性
<uses-library android:name="com.google.android.maps"
android:required="false"/>
如果设备中没有地图库,则活动不使用地图片段。 但是活动扩展了MapActivity,MapActivity在地图库中。 当设备具有地图库时,此活动如何扩展MapActivity,而当设备没有时,如何扩展活动?
答案 0 :(得分:1)
您可以通过两个不同的类来扩展MapFragment,一个扩展Fragment或Activity,然后检查Google Play服务的可用性来实现这一点。
如果您打算使用Google地图V2(并且您应该从3月开始停止工作),则可以检查Google Play服务是否可用http://developer.android.com/google/play-services/setup.html
确定Google Play服务是否可用后,您可以实例化扩展MapFragment的活动或扩展活动的活动。
当然,通用功能将在类之间共享,在这种情况下,由于继承不可用,您必须通过组合来完成。