You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.3 KiB

import '/core/utils/logger.dart';
import 'package:get/get.dart';
import 'package:location_service/location_service.dart';
import 'package:permission_handler/permission_handler.dart';
import '/core/utils/permission_util.dart';
//音乐播放管理
class LocationManager extends GetxService {
static LocationManager get to => Get.find<LocationManager>();
// 音乐服务实例
final LocationService _musicService = LocationService();
/// 初始化
@override
void onInit() {
super.onInit();
requestNotificationPermission();
Logger.info('初始化权限请求');
}
Future<void> requestNotificationPermission() async {
final granted = await PermissionUtil.instance.requestPermission(
// context: context,
permissionType: Permission.locationAlways,
permissionName: 'locationPermission'.tr,
explanationText: 'locationPermissionExplanation'.tr,
permanentDenialText: 'locationPermissionPermanentDenial'.tr,
settingsButtonText: 'goToSettings'.tr,
cancelButtonText: 'cancel'.tr,
);
if (!granted) {
Logger.warning('通知权限未被授予');
return;
}
Logger.info('通知权限已授予');
}
/// 释放资源
@override
void onClose() {
super.onClose();
}
//定位
Future<Map<String, dynamic>> location() async {
return await _musicService.location();
}
}