Android 上的 MapBox:在应用程序处于后台时接收位置更新

And*_*cus 5 android mapbox

我正在尝试使用 MapBox Android SDK 实现一个简单的位置跟踪器。即使应用程序在后台运行,我也希望持续跟踪。在 MapBox 示例以及 API 文档中,声明必须在活动的 onPause 中调用 MapView.onPause()。但是,如果调用此方法,跟踪将停止并且我不会收到位置更新。

这是我的 onCreate:

@Override
protected void onCreate(Bundle savedInstanceState) {
    ...
    MapView mapView = (MapView) findViewById(R.id.map);
    mapView.onCreate(savedInstanceState);

    mapView.getMapAsync(new OnMapReadyCallback() {
        @Override
        public void onMapReady(MapboxMap mapboxMap) {
            mapbox = mapboxMap;
            mapbox.setMyLocationEnabled(true);
            mapbox.getMyLocation();
            mapbox.setOnMyLocationChangeListener(MainActivity.this);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

这是 onLocationChangedListener

@Override
public void onMyLocationChange(@Nullable Location location) {
    if(location != null) {
        if(locationList.size() == 0 || !areEqual(location, locationList.get(locationList.size() - 1))){
            locationList.add(location);
            location.getSpeed();
            computeDistance();
            addPolyline();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果应用程序在后台,是否有推荐的方法来接收 MapBox 位置更新?是否有自定义服务实现或类似的东西?如果没有,只调用 MapView.onDestory() 就足够了吗?谢谢