这个问题不言自明。在调试时,我看到该位置为空。请提出进一步分类的建议。
locationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
// getting GPS status
isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);……
// if GPS Enabled get lat/long using GPS Services
if (isGPSEnabled) {
if (location == null) {
// locationManager.requestLocationUpdates(
// LocationManager.GPS_PROVIDER,
// MIN_TIME_BW_UPDATES,
// MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
if (locationManager != null) {
location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location != null) {
latitude = location.getLatitude();
longitude = location.getLongitude();
}
}
}
}在调试过程中,我发现gpsEnabled总是返回false。GPS已在模拟器上打开
发布于 2016-09-25 22:52:37
根据代码,我假设您正在使用GPSTracker或它的某个派生(您不应该这样做,因为代码已经损坏)。如果是这样的话,GPS值只会告诉你是否可以使用gpsEnabled,而不是它是否真的打开了,并且现在是否能够给你一个值。
发布于 2016-09-25 21:48:08
您正在使用仿真器。它还没有请求位置,所以你需要调用requestLocationUpdates()或requestSingleUpdate()来存储设备的位置。
另一种方法是尝试单击仿真器右侧看起来像三个点的菜单,然后转到Location部分。如果你在这里输入纬度和经度,然后点击“发送”,会起作用吗?
https://stackoverflow.com/questions/39687470
复制相似问题