基本上,我不知道这是 Eclipse 的问题,还是我手机的 GPS 或我的应用程序代码的问题。
问题:当我尝试重新启动手机并运行我的应用程序时,它在运行时崩溃。错误是 NullPointer(未提供行号)。但是,如果我从检查 GPS 的 onCreate() 中删除这两行,然后再次运行该应用程序,它就可以工作了。然后,如果我再次重新添加这些行,该应用程序就会工作。所以基本上,代码很好,但如果在手机重启后第一次运行它,它会使应用程序崩溃。以下是一些相关代码:
编辑
好的,这就是我所做的:
if (new LocTools(this).checkGPS() == true) { // new method, checks if Gps is active and returns boolean.
LatLng ll = new LocTools(this).getMyLocation();
if (ll != null) {
Toast.makeText(this, "LatLng: "+ll, Toast.LENGTH_SHORT).show();
// ll is NOT null
//LocTools.goToLocation(map,ll,5,true);
} else {
Toast.makeText(this, "Gps error", Toast.LENGTH_SHORT).show();
}
}
我注释掉了 LocTools.goToLocation 行并插入了一个 Toast 以查看 LatLng 是否为空。结果:不是。然后我取消了 LocTools.goToLocation 的注释,所以代码如下所示:
...
if (ll != null) {
Toast.makeText(this, "LatLng: "+ll, Toast.LENGTH_SHORT).show();
LocTools.goToLocation(map,ll,5,true);
}
...
并运行该应用程序,它在运行时崩溃 - NullPointer!我不明白它为什么这样做。没有空指针...