我正在使用 FusionLocationProviderClient 在后台定期获取位置更新。它工作正常。但是,奥利奥有一些问题。一旦应用程序进入后台,位置更新就会停止。
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(context);
mFusedLocationClient.requestLocationUpdates(createLocationRequest(), getPendingIntent(context)).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.i(TAG, "Location update registered successfully");
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.i(TAG, "Location update failed to register " + e);
}
});
private LocationRequest createLocationRequest() {
LocationRequest mLocationRequest = new LocationRequest();
mLocationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);
mLocationRequest.setInterval(UPDATE_INTERVAL_IN_MILLISECONDS);
mLocationRequest.setFastestInterval(FASTEST_UPDATE_INTERVAL_IN_MILLISECONDS);
mLocationRequest.setMaxWaitTime(MAX_WAIT_TIME_IN_MILLISECONDS);
return mLocationRequest;
}