如何在 flutter 中使用回调进行后台定位

How to use callback in flutter for background location

我正在关注这个插件(学习)background locator 。之前用过其他后台定位插件,但是现在已经不维护了

我按照插件说明中的说明学习教程,到目前为止这是我的代码。 我不确定回调到底是什么以及如何使用它。

到目前为止,这是我的代码,但我没有得到任何结果。

static void backgroundLocationCallBack(LocationDto location) async {
    await BackgroundLocator.initialize();
    await BackgroundLocator.isServiceRunning();
  }

  void getLocationLiveUpdates() async {
    return await BackgroundLocator.registerLocationUpdate(
        backgroundLocationCallBack,
        autoStop: false,
        // disposeCallback: backgroundLocationDisposeCallBack,

        androidSettings: AndroidSettings(
            accuracy: LocationAccuracy.NAVIGATION,
            interval: 5,
            distanceFilter: 0,
            client: LocationClient.google,
            androidNotificationSettings: AndroidNotificationSettings(
              notificationChannelName: 'Location tracking',
              notificationTitle: 'Start Location Tracking',
              notificationMsg: 'Track location in background',
              notificationBigMsg:
                  'Background location is on to keep the app up-tp-date with your location. This is required for main features to work properly when the app is not running.',
              notificationIconColor: Colors.grey,
            )));
  }

回调用于在某些事件期间执行某些操作。

这里,callback 属性取 backgroundLocationCallBack 作为它的值,根据包代码,它用于在 LocationDto 可用时执行适当的操作。这个LocationDto对象会包含你要找的Location信息,你可以根据你的use-case.

使用。

类似地,disposeCallback 用于在对 BackgroundLocator 对象调用 dispose 时执行某些操作。您可以关闭所有为获取位置而打开的端口。

还有其他回调,例如initCallbackinitDataCallback,它们用于设置回调以初始化您的位置服务的各种参数并分别为参数提供初始数据。