【发布时间】:2015-09-03 18:33:30
【问题描述】:
我正在尝试在一个小型 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()
我无法理解为什么会抛出空指针异常。
【问题讨论】:
-
其实错误在 Map.java: line no.185
-
你在
AndroidManifest.xml文件中声明了这个类吗?? -
发布您的所有班级活动/服务
-
@Nizam 在第 185 行我得到了上面函数中显示的纬度和经度。