From 1d235f415b7935c67ed9415f7f93db675ae64e74 Mon Sep 17 00:00:00 2001
From: lxm <1274844347@qq.com>
Date: Tue, 12 Aug 2025 16:11:13 +0800
Subject: [PATCH] =?UTF-8?q?feat(=E6=9D=83=E9=99=90):=20=E6=B7=BB=E5=8A=A0?=
=?UTF-8?q?=E7=B2=BE=E7=A1=AE=E9=97=B9=E9=92=9F=E6=9D=83=E9=99=90=E6=94=AF?=
=?UTF-8?q?=E6=8C=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
在AndroidManifest.xml中添加SCHEDULE_EXACT_ALARM权限声明
在设置控制器中添加闹钟权限配置项
更新中英文翻译文件添加闹钟权限相关文案
在权限管理页面添加闹钟权限显示逻辑
---
android/app/src/main/AndroidManifest.xml | 2 ++
lib/core/translations/language/en_us.dart | 6 ++++++
lib/core/translations/language/zh_cn.dart | 4 ++++
.../controllers/settings_controller.dart | 16 ++++++++++++++--
.../settings/views/permissions_view.dart | 19 +++++++++++++++++++
5 files changed, 45 insertions(+), 2 deletions(-)
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 127288e55..ebb128fb5 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -50,6 +50,8 @@
+
+
diff --git a/lib/core/translations/language/en_us.dart b/lib/core/translations/language/en_us.dart
index 7dca392ef..b4c776ab6 100644
--- a/lib/core/translations/language/en_us.dart
+++ b/lib/core/translations/language/en_us.dart
@@ -487,15 +487,19 @@ const Map enUS = {
// 权限管理页面
'getPermissionStatusFailed': 'Failed to get permission status',
'communicationPermissions': 'Communication Permissions',
+ 'alarmPermissions': 'Alarm Permissions',
'calendarPermissions': 'Calendar Permissions',
'locationPermissions': 'Location Permissions',
'phone': 'Phone',
'sms': 'SMS',
+ 'alarm': 'Alarm',
'calendarWrite': 'Calendar Write',
'calendarFullAccess': 'Calendar Full Access',
'locationInfo': 'Location Info',
'phonePermissionDesc': 'Used for phone call functionality',
'smsPermissionDesc': 'Used for SMS functionality',
+ 'alarmPermissionDesc':
+ 'Used to set exact alarms to ensure reminders trigger on time',
'calendarWritePermissionDesc':
'Used for creating calendar events and reminders',
'calendarFullAccessPermissionDesc':
@@ -512,6 +516,8 @@ const Map enUS = {
'phonePermissionDetailDesc':
'Phone call functionality requires phone permission',
'smsPermissionDetailDesc': 'SMS functionality requires SMS permission',
+ 'alarmPermissionDetailDesc':
+ 'This permission is required to set exact alarms and ensure reminders trigger on time',
'calendarWritePermissionDetailDesc':
'Creating calendar events requires calendar write permission',
'calendarFullAccessPermissionDetailDesc':
diff --git a/lib/core/translations/language/zh_cn.dart b/lib/core/translations/language/zh_cn.dart
index d73546416..e0757379e 100644
--- a/lib/core/translations/language/zh_cn.dart
+++ b/lib/core/translations/language/zh_cn.dart
@@ -455,15 +455,18 @@ const Map zhCN = {
// 权限管理页面
'getPermissionStatusFailed': '获取权限状态失败',
'communicationPermissions': '通讯权限',
+ 'alarmPermissions': '闹钟权限',
'calendarPermissions': '日历权限',
'locationPermissions': '位置权限',
'phone': '电话',
'sms': '短信',
+ 'alarm': '闹钟',
'calendarWrite': '日历写入',
'calendarFullAccess': '日历完整访问',
'locationInfo': '位置信息',
'phonePermissionDesc': '用于拨打电话功能',
'smsPermissionDesc': '用于发送短信功能',
+ 'alarmPermissionDesc': '用于设置精确闹钟以确保提醒按时触发',
'calendarWritePermissionDesc': '用于创建日历事件和提醒',
'calendarFullAccessPermissionDesc': '用于读取和管理日历事件及提醒',
'locationPermissionDesc': '用于获取当前位置信息',
@@ -477,6 +480,7 @@ const Map zhCN = {
'permissionRequestError': '请求权限时出错',
'phonePermissionDetailDesc': '拨打电话功能需要电话权限',
'smsPermissionDetailDesc': '发送短信功能需要短信权限',
+ 'alarmPermissionDetailDesc': '设置精确闹钟需要此权限,以确保提醒按时触发',
'calendarWritePermissionDetailDesc': '创建日历事件需要日历写入权限',
'calendarFullAccessPermissionDetailDesc': '管理日历事件需要完整日历权限',
'locationPermissionDetailDesc': '获取位置信息需要位置权限',
diff --git a/lib/modules/settings/controllers/settings_controller.dart b/lib/modules/settings/controllers/settings_controller.dart
index 4dcecf302..496e405e3 100644
--- a/lib/modules/settings/controllers/settings_controller.dart
+++ b/lib/modules/settings/controllers/settings_controller.dart
@@ -192,7 +192,18 @@ class SettingsController extends GetxController {
},
{'type': Permission.bluetooth, 'name': '蓝牙', 'description': '用于连接蓝牙设备'}
]
- }
+ },
+ {
+ 'name': '闹钟权限',
+ 'icon': Icons.alarm,
+ 'permissions': [
+ {
+ 'type': Permission.scheduleExactAlarm,
+ 'name': '闹钟',
+ 'description': '用于设置精确闹钟'
+ }
+ ]
+ },
];
// 检查单个权限状态
@@ -453,7 +464,8 @@ class SettingsController extends GetxController {
Logger().i('更新agent服务语音识别语言: ${supportedLanguages.join(', ')}');
// 调用agent服务更新语言设置
- final success = await AgentService.setSupportedLanguages(supportedLanguages);
+ final success =
+ await AgentService.setSupportedLanguages(supportedLanguages);
if (success) {
Logger().i('agent服务语言设置更新成功');
} else {
diff --git a/lib/modules/settings/views/permissions_view.dart b/lib/modules/settings/views/permissions_view.dart
index bf83d02fc..2b0ceaf80 100644
--- a/lib/modules/settings/views/permissions_view.dart
+++ b/lib/modules/settings/views/permissions_view.dart
@@ -66,6 +66,17 @@ class PermissionsView extends GetView {
isDarkMode),
SizedBox(height: 20.h),
],
+ // 闹钟权限组
+ if (Platform.isAndroid) ...[
+ _buildPermissionSection(
+ 'alarmPermissions'.tr, // 闹钟权限
+ Icons.alarm,
+ [Permission.scheduleExactAlarm],
+ permissionStatuses,
+ isDarkMode,
+ ),
+ SizedBox(height: 20.h),
+ ],
// 日历权限组
_buildPermissionSection(
@@ -165,6 +176,8 @@ class PermissionsView extends GetView {
return 'calendarFullAccess'.tr; // 日历完整访问
case Permission.location:
return 'locationInfo'.tr; // 位置信息
+ case Permission.scheduleExactAlarm:
+ return 'alarm'.tr; // 闹钟
default:
return permission.toString();
}
@@ -183,6 +196,8 @@ class PermissionsView extends GetView {
return 'calendarFullAccessPermissionDesc'.tr; // 用于读取和管理日历事件及提醒
case Permission.location:
return 'locationPermissionDesc'.tr; // 用于获取当前位置信息
+ case Permission.scheduleExactAlarm:
+ return 'alarmPermissionDesc'.tr; // 设置精确闹钟需要此权限
default:
return 'appFunctionNeeds'.tr; // 应用功能需要
}
@@ -358,6 +373,8 @@ class PermissionsView extends GetView {
return 'calendarFullAccess'.tr; // 日历完整访问
case Permission.location:
return 'locationInfo'.tr; // 位置信息
+ case Permission.scheduleExactAlarm:
+ return 'alarm'.tr; // 闹钟
default:
return permission.toString();
}
@@ -376,6 +393,8 @@ class PermissionsView extends GetView {
return 'calendarFullAccessPermissionDetailDesc'.tr; // 管理日历事件需要完整日历权限
case Permission.location:
return 'locationPermissionDetailDesc'.tr; // 获取位置信息需要位置权限
+ case Permission.scheduleExactAlarm:
+ return 'alarmPermissionDetailDesc'.tr; // 设置精确闹钟需要此权限
default:
return 'appNeedsPermissionForFullFunction'.tr; // 应用需要此权限以提供完整功能
}