local_location_tracker 0.0.1 local_location_tracker: ^0.0.1 copied to clipboard
A Flutter plugin for tracking user location even while app is in background or killed.
import 'package:flutter/material.dart';
import 'package:local_location_tracker/local_location_tracker.dart';
import 'package:location_tracker_example/permission_helper.dart';
import 'package:permission_handler/permission_handler.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
List<List<double>> locationData = [];
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(
title: const Text('Location Track '),
),
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
ElevatedButton(
onPressed: ()async {
PermissionHelper.getPermission(Permission.systemAlertWindow)
.then((value) async{
await LocationTracker.startService(appName: "Sample Location Track app");
debugPrint("completed tracking");
});
},
child: const Text('Start')),
const SizedBox(
height: 20,
),
ElevatedButton(
onPressed: () {
PermissionHelper.getPermission(Permission.systemAlertWindow)
.then((value) {
LocationTracker.stopService();
});
},
child: const Text('Stop')),
const SizedBox(
height: 20,
),
ElevatedButton(
onPressed: () async {
PermissionHelper.getPermission(Permission.systemAlertWindow)
.then((value) async {
locationData = await LocationTracker.getLocationData();
debugPrint(value.toString());
setState(() {
});
});
},
child: const Text('get Tracked Location')),
const SizedBox(
height: 20,
),
Text(locationData.toString())
],
),
),
),
);
}
}