ボタンをクリックしてユーザーを探したい。したがって、私はこのコードを使用します。AndroidのrequestLocationUpdatesが正しく呼び出されない
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が常に呼び出されるとは限りませんか?また、requestLocationUpdatesを呼び出した後に時々falseになるgetLastKnownLocationもチェックしました。
何とか役立つかどうかを確認するには、ここで確認してください。https://stackoverflow.com/a/8600896/3965050 –
requestLocationUpdates内にリスナーを登録しようとしました。今は決して呼び出されません。 LocationManagerもチェックされます(nullではありません)。 – JavaForAndroid
いいえ、しかし、私はこの部分を意味しています:現在の場所の更新が最後の既知の場所と一致しない場合、onLocationChanged()が呼び出されます。 –