From 85d11d6cd12abdd1e1f5f7516a7fb53a4826633f Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期二, 15 四月 2025 09:17:18 +0800
Subject: [PATCH] add: 消息提醒
---
app/src/main/java/com/example/firstapp/App.kt | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/app/src/main/java/com/example/firstapp/App.kt b/app/src/main/java/com/example/firstapp/App.kt
index 83a1eae..a3992f7 100644
--- a/app/src/main/java/com/example/firstapp/App.kt
+++ b/app/src/main/java/com/example/firstapp/App.kt
@@ -37,6 +37,7 @@
import java.io.IOException
import java.text.SimpleDateFormat
import java.util.*
+import java.util.concurrent.TimeUnit
@Suppress("DEPRECATION")
class App : Application(), CactusCallback, Configuration.Provider {
@@ -455,6 +456,7 @@
private fun setupReminderWorker() {
Log.d(TAG, "设置定时提醒Worker")
+ // 方式1:使用周期性执行
val constraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build()
@@ -474,6 +476,18 @@
ExistingPeriodicWorkPolicy.REPLACE,
reminderWorkRequest
)
+
+ // 方式2:设置在特定时间执行(例如每天上午9点和下午18点)
+ // 可根据需要设置多个不同时间点的提醒
+ ReminderWorker.setupScheduledWorker(this, 9, 0) // 上午9:00
+ ReminderWorker.setupScheduledWorker(this, 13, 50) // 下午18:00
+
+ // 注意:不再立即执行一次提醒检查,避免重复提醒
+ // 如果需要立即检查,可以设置一个延迟,例如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