import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:permission_handler/permission_handler.dart'; /// 网络权限工具类 class KRNetworkPermission { /// 检查网络权限 static Future kr_checkNetworkPermission() async { if (GetPlatform.isIOS) { // iOS 检查网络权限 final status = await Permission.location.status; if (!status.isGranted) { return false; } } else if (GetPlatform.isAndroid) { // Android 检查网络权限 final connectivityResult = await Connectivity().checkConnectivity(); if (connectivityResult == ConnectivityResult.none) { return false; } } return true; } /// 请求网络权限 static Future kr_requestNetworkPermission() async { if (GetPlatform.isIOS) { // iOS 请求网络权限 final status = await Permission.location.request(); if (!status.isGranted) { // 直接打开设置页面 await openAppSettings(); } return status.isGranted; } else if (GetPlatform.isAndroid) { // Android 请求网络权限 final connectivityResult = await Connectivity().checkConnectivity(); if (connectivityResult == ConnectivityResult.none) { // 直接打开设置页面 await openAppSettings(); } return connectivityResult != ConnectivityResult.none; } return true; } /// 检查网络连接状态 static Future kr_checkNetworkConnection() async { try { final connectivityResult = await Connectivity().checkConnectivity(); return connectivityResult != ConnectivityResult.none; } catch (e) { return false; } } /// 监听网络状态变化 static Stream kr_networkStream() { return Connectivity().onConnectivityChanged; } }