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 秒內完成,具體取決于您所在的地區。
添加回答
舉報