我想通過單擊按鈕找到用戶。所以我用這個代碼:Android請求位置更新沒有正確調用
lm = getSystemService(LocationManager.class);
provider = LocationManager.GPS_PROVIDER;
listener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
Log.e("UPDATE","UPDATING LOCATION");
}
@Override
public void onStatusChanged(String s, int i, Bundle bundle) {
}
@Override
public void onProviderEnabled(String s) {
}
@Override
public void onProviderDisabled(String s) {
}
};
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, listener);
的requestLocationUpdates方法被調用,但onLocationChanged方法只叫了幾聲。 GPS被激活並且授權被允許。
你知道爲什麼onLocationChanged不總是被調用嗎?我還檢查了getLastKnownLocation,它在調用requestLocationUpdates之後有時是錯誤的。
檢查它在這裏說什麼,看看它是否有幫助:https://stackoverflow.com/a/8600896/3965050 –
我試圖註冊偵聽器內requestLocationUpdates。現在它永遠不會被調用。 LocationManager也被選中(不爲空)。 – JavaForAndroid
不,但我的意思是這部分:onLocationChanged()將在當前位置更新與最後一個已知位置不匹配時被調用。 –