gpt4 book ai didi

android - 如何使用 Flutter 在后台跟踪位置?

转载 作者:行者123 更新时间:2023-12-04 23:55:58 77 4
gpt4 key购买 nike

我一直在一个使用 Flutter 开发应用程序的团队工作。我们需要使用 GPS 跟踪行进的距离,但挑战在于 Flutter 不再允许前台和后台位置跟踪(即使精度水平很低)。

根据对最新谷歌指南的审查,谷歌似乎应该允许我们的应用程序在后台跟踪设备,但事实并非如此。事实上,打开前台和后台定位服务似乎在一两个月前就开始奏效了。我们已经尝试了 locationgeolocation 包,但无济于事。当应用程序处于后台时,它们中的任何一个都会立即停止跟踪,当应用程序返回前台时,我们的位置会发生很大的跳跃。

这是我们尝试过的

AndroidManifest.xml
...
<uses-permission android:name="android.permission.ACCESS_COURSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
...

使用地理定位的应用代码
...
serviceEnabled = await Geolocator.isLocationServiceEnabled();
if (!serviceEnabled) {
return Future.error('Location services are disabled.');
}

permission = await Geolocator.checkPermission();
if (permission == LocationPermission.denied) {
permission = await Geolocator.requestPermission();
if (permission == LocationPermission.denied) {
return Future.error('Location permissions are denied');
}
}

//Permission returns denied Location
//this is due to the background permission in the android manifest
//turn off background permission and the permission is allowed
if (permission == LocationPermission.deniedForever)
return Future.error(
'Location permissions are permanently denied, we cannot request permissions.');
}
...
使用位置的应用代码
_serviceEnabled = await location.serviceEnabled();
if (!_serviceEnabled) {
_serviceEnabled = await location.requestService();
if (!_serviceEnabled) {
print('Service could not be enabled');
return false;
}

// This code throws and exception even if I respond to the
// Google prompts and I select allow location service and all the time access
try {
await location.enableBackgroundMode(enable: true);
} catch(error) {
print("Can't set background mode");
}

任何有关如何实现这一目标的指导将不胜感激。

最佳答案

Flutter 原生还是不支持后台本地化。

我看过一些android特有的表格,但都没有效果。

但积极寻找,我发现了这个库:

https://pub.dev/packages/flutter_background_geolocation

这是一个付费库,用于生产(用于 android key 。iOS 是免费的)。而且效果很好。

尽管有成本(这是独一无二的,而且是终生的),但成本效益非常好。

强烈推荐。

注意:他们的文档和支持非常棒。

关于android - 如何使用 Flutter 在后台跟踪位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68584993/

77 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com