Android MapFragment-CameraUpdateFactory未初始化

Android MapFragment-CameraUpdateFactory未初始化,android,google-maps,Android,Google Maps,Google Play报告我的应用程序出现以下错误: ... Caused by: java.lang.NullPointerException: CameraUpdateFactory is not initialized at com.google.android.gms.internal.x.b(Unknown Source) at com.google.android.gms.maps.CameraUpdateFactory.aE(Unknown Source) at com.googl

Google Play报告我的应用程序出现以下错误:

...
Caused by: java.lang.NullPointerException: CameraUpdateFactory is not initialized
at com.google.android.gms.internal.x.b(Unknown Source)
at com.google.android.gms.maps.CameraUpdateFactory.aE(Unknown Source)
at com.google.android.gms.maps.CameraUpdateFactory.newCameraPosition(Unknown Source)
at com.foo.DetailActivity.onCreate(DetailActivity.java:144)
我已经读过这样的帖子了。
DetailActivity
(扩展碎片活动)中的我的代码如下:

我不确定它怎么还没有被初始化。在代码的这一点上,我还没有创建MapFragment。我不认为这需要在创建MapFragment之后进行,因为我没有从MapFragment调用任何东西


你知道为什么这不起作用吗?

对于下一次更新,请更换:

Log.e("map", " " + e.getMessage());
与:

至少你会得到真正的原因,而不是症状NPE

无论如何,如果用户的设备上未安装Google Play服务,则此代码不应尝试执行


有一些东西,如和其他函数,可以帮助您。

我还没有创建MapFragment。
您根本没有将
MapFragment
添加到布局中?直到大约10行之后。我首先初始化与地图相关的东西,然后使用所有相关的东西进行设置。您确定没有引发GooglePlayServiceNotAvailableException,并且您的日志中没有丢失它吗?可能,但我没有日志,因为异常是通过Play Store发生的。我想我可以在本地重新创建错误。如果问题是GooglePlayServiceNotAvailableException,那么怎么办?给用户一条消息并中止显示地图?我不确定人们如何从中恢复过来,仅仅抛出异常的问题是我们会得到不公平的退出。优雅地失败对客户来说是件好事,但在细节上失败对我们开发人员来说是件好事。您也可以将其更改为Log.e(“map”,“+e.getMessage(),e);这将打印出堆栈跟踪(包括“causedBy”原因,这是您所追求的),作为日志消息的一部分。@Elroid这不会有帮助,因为用户设备上的异常发生在第144行。有了ACRA,开发人员就可以访问错误日志,但没有它就好像没有代码一样。
Log.e("map", " " + e.getMessage());
throw new RuntimeException(e);