我正在尝试在一个小型 android 应用程序中检测用户位置。
该应用程序以前正在运行。
但是现在当我运行我的应用程序时它会崩溃。
这是我的代码。
private void getUserLocation() {
location_manager = (LocationManager) getSystemService(LOCATION_SERVICE);
if (location_manager != null) {
provider = location_manager.getBestProvider(criteria, true);
location = location_manager.getLastKnownLocation(provider);
location_manager.requestLocationUpdates(provider,
Map.MIN_TIME_BW_UPDATES,
Map.MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
lat = location.getLatitude();
lang = location.getLongitude();
}
}
堆栈跟踪
E/AndroidRuntime(10925): FATAL EXCEPTION: main
E/AndroidRuntime(10925): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.project.kamani.nearby/com.project.kamani.nearby.Map}: java.lang.NullPointerException
E/AndroidRuntime(10925): Caused by: java.lang.NullPointerException
E/AndroidRuntime(10925): at com.project.kamani.nearby.Map.getUserLocation(Map.java:185)
E/AndroidRuntime(10925): at com.project.kamani.nearby.Map.onCreate(Map.java:75)
根据我的解释,这里说错误在我的代码中的第 75 行。
所以从第 75 行看,我只是调用了上面的函数getUserLocation()
我无法理解为什么它会引发空指针异常。