我收到一个奇怪的错误,因为如果我在真实手机上运行该应用,
它不会给出此错误(Android 5.0)。但是在模拟器(Android 6.0)上,它给了我这个错误:
致命异常:主要
流程:com.doppler.stackingcoder.pechhulp,PID:11424
java.lang.NullPointerException:尝试调用虚拟方法
空对象上的'double android.location.Location.getLatitude()'
参考
在
com.doppler.stackingcoder.pechhulp.PechhulpActivity.onLocationChanged(PechhulpActivity.java:171)
在
com.doppler.stackingcoder.pechhulp.PechhulpActivity.onMapReady(PechhulpActivity.java:126)
这是我的PechhulpActivity:
https://gist.github.com/soufyanekaddouri/6e3a3746be137e2680caa32d7bb746d9
最佳答案
关于崩溃,您假设至少一个提供程序将从Location
返回getLastKnownLocation()
。在设备或仿真器上都不需要这样做。您需要处理所有提供程序都从null
返回getLastKnownLocation()
的情况。这可能是因为不尝试使用该位置。或者,请求位置更新,然后使用第一次更新中的位置。