定期的にユーザーの位置を追跡する必要があります。
このために、サービスのonCreateメソッドでrequestLocationUpdates()を呼び出しています。
@Override
public void onCreate()
{
LocationManager aLocationManager = (LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE);
aLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, MIN_TIME, MIN_DISTANCE, new LocationListener(LocationManager.GPS_PROVIDER));
}
通常、私はこのGPS_PROVIDERを介して定期的に位置情報を更新します。ただし、一部の地域では、位置情報を正しく取得できませんでした。そのような点で、私はrequestLocationUpdates呼び出しをNETWORK_PROVIDERを使用するように切り替えるのが好きです。
そのため、GPS_PROVIDERから適切な位置情報を取得できない場合は、requestLocationUpdatesを切り替えてNETWORK_PROVIDERを使用できます。
これどうやってするの?ある種の条件をチェックして、onStatusChanged()のrequestLocationUpdates()を変更するのは正しいですか?
提案をお願いします。
ありがとうございました。