From f67cf3b81a00f732ca743431258ae6b78f5f40ab Mon Sep 17 00:00:00 2001 From: tj <1378534974@qq.com> Date: 星期四, 17 四月 2025 15:05:28 +0800 Subject: [PATCH] 11、我的 切换头像 点击切换头像没有显示允许存储权限的窗口,华为的手机目前有 49、首页 实时刷新 点击全部取件或其他分类后,回到上一层,内容没有刷新(5个分类) 52、数据统计 数据统计 1.周月年的柱状图统计逻辑需要修改为只统计快递类的数据 2.按年的图形统计,右下方加上图示说明 53、首页 首页登录 点击用户协议、隐私政策无反应 --- app/src/main/java/com/example/firstapp/App.kt | 36 ++++++------------------------------ 1 files changed, 6 insertions(+), 30 deletions(-) diff --git a/app/src/main/java/com/example/firstapp/App.kt b/app/src/main/java/com/example/firstapp/App.kt index a3992f7..4fba306 100644 --- a/app/src/main/java/com/example/firstapp/App.kt +++ b/app/src/main/java/com/example/firstapp/App.kt @@ -16,6 +16,7 @@ import com.example.firstapp.database.repository.CodeRepository import com.example.firstapp.database.repository.KeywordRepository import com.example.firstapp.database.repository.MsgRepository +import com.example.firstapp.database.repository.ReminderRepository import com.example.firstapp.database.service.RetrofitClient import com.example.firstapp.receiver.CactusReceiver import com.example.firstapp.service.ReminderWorker @@ -47,6 +48,7 @@ val msgRepository by lazy { MsgRepository(database.msgDao()) } val codeRepository by lazy { CodeRepository(database.codeDao()) } val keywordRepository by lazy { KeywordRepository(RetrofitClient.apiService,database.keywordDao()) } + val reminderRepository by lazy { ReminderRepository(this) } companion object { const val TAG: String = "SmsForwarder" @@ -453,41 +455,15 @@ * 设置定时提醒Worker * 配置为每天运行一次检查是否有新的提醒内容 */ - private fun setupReminderWorker() { + fun setupReminderWorker() { Log.d(TAG, "设置定时提醒Worker") - // 方式1:使用周期性执行 - val constraints = Constraints.Builder() - .setRequiredNetworkType(NetworkType.CONNECTED) - .build() - - // 创建周期性工作请求 - val reminderWorkRequest = PeriodicWorkRequestBuilder<ReminderWorker>( - ReminderWorker.REPEAT_INTERVAL, - ReminderWorker.REPEAT_INTERVAL_TIME_UNIT - ) - .setConstraints(constraints) - .addTag("reminder_worker") - .build() - - // 使用 REPLACE 策略确保新配置生效 - WorkManager.getInstance(this).enqueueUniquePeriodicWork( - "reminder_work", - ExistingPeriodicWorkPolicy.REPLACE, - reminderWorkRequest - ) - - // 方式2:设置在特定时间执行(例如每天上午9点和下午18点) + // 仅在特定时间执行(每天指定时间) // 可根据需要设置多个不同时间点的提醒 ReminderWorker.setupScheduledWorker(this, 9, 0) // 上午9:00 - ReminderWorker.setupScheduledWorker(this, 13, 50) // 下午18:00 + ReminderWorker.setupScheduledWorker(this, 13, 50) // 下午13:50 - // 注意:不再立即执行一次提醒检查,避免重复提醒 - // 如果需要立即检查,可以设置一个延迟,例如5分钟后执行 - val delayedWorkRequest = OneTimeWorkRequestBuilder<ReminderWorker>() - .setInitialDelay(5, TimeUnit.MINUTES) // 延迟5分钟执行 - .build() - WorkManager.getInstance(this).enqueue(delayedWorkRequest) + // 不再使用周期性轮询和立即执行的方式 } } \ No newline at end of file -- Gitblit v1.9.3