颤振位置插件:停止在处置时列出



我正在使用位置插件来获取用户的当前位置。它工作正常。

但是当用户关闭当前页面时,我需要停止位置侦听。

listenLocation=  (LocationData locationData) async {
if (mounted) {
setState(() {
userLocation = locationData;
});
}
print("lat: " +
userLocation.latitude.toString() +
" - Long: " +
userLocation.longitude.toString());
};
location.onLocationChanged().listen(listenLocation);

如何停止侦听处置方法?

我一直在寻找这个问题的答案,结果你需要执行以下操作。

import 'dart:async';
StreamSubscription<LocationData> locationSubscription;
locationSubscription = location.onLocationChanged().listen((LocationData currentLocation)
{
//Your code
});

然后停止它调用

locationSubscription.cancel();

如果您想从上次中断的地方继续通话

locationSubscription.resume();

希望它能帮助其他人真正想要停止后台侦听器,而不仅仅是让它们运行,因为它在包的文档中没有位置。

最新更新