Выбор геолокации каждый раз через определенный промежуток времени - PullRequest
0 голосов
/ 10 мая 2018

Я новичок в Dart-flutter, мне нужно написать приложение, которое может определять местоположение пользователя в фоновом режиме, например, через час. я попытался обойти плагин геолокации и класс Timer, который работал нормально, но выбирает местоположение только один раз.
Мне нужно знать, есть ли какая-то работа в сервисе или лучший способ сделать это.
спасибо

class HomePage extends StatefulWidget{
   static const timeout = const Duration(seconds: 5);

   @override
   State createState() => new HomePageState();

   HomePage(){
     startTimeout();
   }

   startTimeout()async {
    final GeolocationResult result = await 
      Geolocation.isLocationOperational();
      if(result.isSuccessful) {
      return new Timer(timeout, handleTimeout);
    } 
     else {
       debugPrint(result.error.toString());
       GeolocationResult res = await 
       Geolocation.requestLocationPermission(const LocationPermission(
       android: LocationPermissionAndroid.fine,
       ios: LocationPermissionIOS.always,
       ));

        if(res.isSuccessful) {
           new Timer.periodic(timeout,(Timer t)=> handleTimeout);
        } else {
         debugPrint(res.error.toString());
        }
     }
  }

 void handleTimeout(){
      debugPrint("Print after 10 seconds");
        Geolocation.currentLocation(accuracy: 
          LocationAccuracy.best).listen((result) {
        if(result.isSuccessful) {
            var posts = new postservice.Post();
            var userid=100;



posts.sendLocation(result.location.latitude,result.location.longitude,userid);

         }
    });
   }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...