【发布时间】:2017-10-11 13:00:02
【问题描述】:
我正在开发一个通过 NETWORK_PROVIDER 实现该位置的 Android 应用程序,但我在 Android 7 上执行它时遇到问题(虽然它在以前的版本上正常工作)。这是代码:
LocationManager posM;
double latitude;
double longitude;
List<Address> addresses = null;
try {
posM = (LocationManager) getSystemService(LOCATION_SERVICE);
Location location = posM.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
latitude = location.getLatitude();
longitude = location.getLongitude();
Geocoder geocoder;
geocoder = new Geocoder(Activity1.this, Locale.getDefault());
addresses = geocoder.getFromLocation(latitude, longitude, 1);
} catch (IOException e) {
e.printStackTrace();
}
我不知道它为什么会在 Android 7 上崩溃...谢谢您的帮助
【问题讨论】:
-
请添加堆栈跟踪
-
显示错误堆栈跟踪
-
请问,如何在手机上获取错误堆栈跟踪?
-
你在 android studio 底部的 android 监视器中得到它
-
“虽然它在以前的版本上正常工作”——不,它没有。它碰巧在您有限的测试中起作用。但是,正如 Gabe 所指出的,
getLastKnownLocation()会大量返回null,您需要能够处理这些问题。 The documentation 描述了这个过程。仅将getLastKnownLocation()用作优化,而不是您获取位置的主要方式。
标签: java android geolocation position