我遇到了问题 - 我在我的应用程序中使用Google Maps v2。为了使用它,我明显将Google Play服务lib添加到我的项目中。
我的设备上的所有内容都运行良好但是使用较旧的Android会崩溃,例如,我的应用程序工作在4.3但不适用于4.0.3。
我已经发现问题 - 在这些设备上Google Play服务不是最新版本。 在Android SDK工具中,我有Google Play服务修订版13.当我安装了Google Play服务更新时,我的应用程序运行正常。
那么解决这个问题的最佳方法是什么? 可能是我需要使用一些较旧的方法从MapFragment获取地图? 这是我的代码。
public class CustomMapFragment extends MapFragment {
private GoogleMap mMap;
public void init() {
mMap = getMap(); <----------- NPE when launched on older Android devices
mMap.setMyLocationEnabled(true);
mMap.setTrafficEnabled(true);
}
@Override
public void onResume() {
super.onResume();
init();
}
}
感谢您的帮助。
答案 0 :(得分:1)
为了让Google Map API V2
能够在旧设备上运行,您必须使用SupportMapFragment
对象而不是MapFragment
对象。这就是你需要扩展的内容。
您必须使用SupportFragmentManager
来获取它的实例,而不是通常使用的FragmentManager
。