|
|
|
@ -270,13 +270,19 @@ object LocationService { |
|
|
|
if (!hasForegroundPermission) { |
|
|
|
return 1 // 前台权限未授予 |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 前台权限已授予,再根据前后台状态检查后台权限 |
|
|
|
if (!isAppInForeground(context)) { |
|
|
|
// 应用在后台:Android 10+ 需要检查后台权限 |
|
|
|
return 2 // 后台权限未授予 |
|
|
|
// 应用在后台:Android 10+ 需要检查后台权限的实际授予状态 |
|
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { |
|
|
|
val hasBackgroundPermission = hasBackgroundLocationPermission(context) |
|
|
|
if (!hasBackgroundPermission) { |
|
|
|
return 2 // 后台权限未授予 |
|
|
|
} |
|
|
|
} |
|
|
|
// Android 9 及以下或已授予后台权限 |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 所有所需权限均已授予 |
|
|
|
return 0 |
|
|
|
} |
|
|
|
|