Я использую приведенный ниже код, чтобы отслеживать местоположение пользователя.
Это работает правильно, когда мое приложение находится на переднем плане. Но когда мое приложение переходит в фоновый режим, оно перестает работать, и я не могу определить местоположение.
import 'dart:async';
import 'package:permission_handler/permission_handler.dart';
import 'package:geolocator/geolocator.dart';
class FetchLocation {
var geolocator = Geolocator();
var locationOptions = LocationOptions(accuracy: LocationAccuracy.high, distanceFilter: 10,forceAndroidLocationManager: true,timeInterval: 1);
void trackGeoLocation()async{
final PermissionStatus permission = await PermissionHandler()
.checkPermissionStatus(PermissionGroup.location);
if(permission == PermissionStatus.granted){
fetchLocation();
}else{
askPermission();
}
}
void askPermission() {
PermissionHandler().requestPermissions([PermissionGroup.locationAlways]).then(__onStatusRequested);
}
void __onStatusRequested(Map statuses){
final status = statuses[PermissionGroup.locationWhenInUse];
print(status);
if(status == PermissionStatus.restricted || status == PermissionStatus.neverAskAgain){
} else if(status == PermissionStatus.denied){
askPermission();
}else{
fetchLocation();
}
}
void fetchLocation(){
StreamSubscription positionStream = geolocator.getPositionStream(locationOptions).listen(
(Position position) {
print(position == null ? 'Unknown' : position.latitude.toString() + ', ' + position.longitude.toString());
});
}
}
Подробнее здесь: https://stackoverflow.com/questions/604 ... in-flutter
Получить местоположение с Android в фоновом режиме во флаттере ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1727262035
Anonymous
Я использую приведенный ниже код, чтобы отслеживать местоположение пользователя.
Это работает правильно, когда мое приложение находится на переднем плане. Но когда мое приложение переходит в фоновый режим, оно перестает работать, и я не могу определить местоположение.
import 'dart:async';
import 'package:permission_handler/permission_handler.dart';
import 'package:geolocator/geolocator.dart';
class FetchLocation {
var geolocator = Geolocator();
var locationOptions = LocationOptions(accuracy: LocationAccuracy.high, distanceFilter: 10,forceAndroidLocationManager: true,timeInterval: 1);
void trackGeoLocation()async{
final PermissionStatus permission = await PermissionHandler()
.checkPermissionStatus(PermissionGroup.location);
if(permission == PermissionStatus.granted){
fetchLocation();
}else{
askPermission();
}
}
void askPermission() {
PermissionHandler().requestPermissions([PermissionGroup.locationAlways]).then(__onStatusRequested);
}
void __onStatusRequested(Map statuses){
final status = statuses[PermissionGroup.locationWhenInUse];
print(status);
if(status == PermissionStatus.restricted || status == PermissionStatus.neverAskAgain){
} else if(status == PermissionStatus.denied){
askPermission();
}else{
fetchLocation();
}
}
void fetchLocation(){
StreamSubscription positionStream = geolocator.getPositionStream(locationOptions).listen(
(Position position) {
print(position == null ? 'Unknown' : position.latitude.toString() + ', ' + position.longitude.toString());
});
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/60441511/fetch-location-from-android-in-background-in-flutter[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия