반응형
//Flutter
//main.dart

import 'package:geolocator/geolocator.dart';
import 'package:permission_handler/permission_handler.dart';

void main() async{
  WidgetsFlutterBinding.ensureInitialized();
  
  await _handleLocationPermission(); // 어플 켜지면 바로 실행
}

Future<void> _handleLocationPermission() async {
  var status = await Permission.location.status;
  if (!status.isGranted) {
    status = await Permission.location.request();
  }

  if (status.isGranted) {
    print('위치 권한이 허용되었습니다.');
  } else if (status.isDenied) {
    print('위치 권한이 거부되었습니다.');
  } else if (status.isPermanentlyDenied) {
    openAppSettings();
  }
}

//home_screen.dart (webview영역 
LocationPermission permission = await Geolocator.checkPermission();

if (permission == LocationPermission.denied) {
permission = await Geolocator.requestPermission();
}

Position position = await Geolocator.getCurrentPosition(
  desiredAccuracy: LocationAccuracy.high);
  
var data = {
    'lat': position.latitude.toString(),
    'lon': position.longitude.toString(),
}
print(data);

var response = await http.post(
    Uri.parse(springBootApiUrl),  //SpringBoot PostMapping uri 포함해서 보내면됌 
    headers: <String, String>{
      'Content-Type': 'application/json; charset=UTF-8',
    },
    body: jsonEncode(datas),
);
반응형

'공부 > App' 카테고리의 다른 글

[Flutter] 스플래시 스크린 설정  (2) 2024.09.24
[Flutter] 앱 아이콘 변경  (0) 2024.09.24
[Flutter] 앱 이름 변경 (안드로이드)  (0) 2024.09.24
[FLUTTER] SpringBoot gps정보 전송  (0) 2024.09.20
안드로이드 웹뷰 적용  (0) 2024.07.28