3 回答
TA贡献1775条经验 获得超8个赞
long milliseconds = 5000; // 5 seconds
float minimusDistance = 5.5; // 5.5m distance from current location
locationManager.requestLocationUpdates(locationProvider, milliseconds, minimusDistance, locationListener);
试试这个片段。希望它能解决你的问题。
这只是发生,因此,您没有提供获取位置更新的最小间隔和最小距离。这就是您收到此错误的原因。
TA贡献1810条经验 获得超4个赞
我遇到了同样的问题,因为我的设备 ( General Mobile GM8d ) 8.1 操作系统更新到了 Android 9 (Pie)。之后,我尝试使用LocationManager以以下方式定位:
LocationManager locationManager = (LocationManager) context.getSystemService(LOCATION_SERVICE);
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
0,
0,
new LocationListener() {
@Override
public void onLocationChanged(Location location) {
double latitude = location.getLatitude();
double longitude = location.getLongitude();
}
});
但是,在 Android 9 更新后,我遇到了同样的错误。解决方法如下:
重新启动的设备。
之后,打开地图应用程序(Maps)。这样,GPS 将被本地系统激活。
之后,清除应用程序的缓存和存储空间并将其从设备中卸载。
在 Android Studio 的顶部栏上,文件 > 使缓存无效/重新启动...
最后,在您的设备上运行您的应用程序
位置将在 13-24 秒内完成,具体取决于您所在的地区。
添加回答
举报