From cf5039ae6385cf64cc01056107be2628b744603c Mon Sep 17 00:00:00 2001 From: wangsiyuan <2392948297@qq.com> Date: Fri, 8 Dec 2023 20:55:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20EchoLink.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/nbee/echolink/EchoLink.java | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/nbee/echolink/EchoLink.java b/app/src/main/java/com/nbee/echolink/EchoLink.java index 4f8442d..e1a06bf 100644 --- a/app/src/main/java/com/nbee/echolink/EchoLink.java +++ b/app/src/main/java/com/nbee/echolink/EchoLink.java @@ -1,17 +1,40 @@ package com.nbee.echolink; import android.app.Application; +import android.content.Context; + +import androidx.work.ExistingPeriodicWorkPolicy; +import androidx.work.PeriodicWorkRequest; +import androidx.work.WorkManager; + +import com.nbee.echolink.utils.HeartbeatWorker; + +import java.util.concurrent.TimeUnit; + import timber.log.Timber; public class EchoLink extends Application { + private static final int EXECUTION_INTERVAL = 15; // 示例:15分钟 @Override public void onCreate() { super.onCreate(); - // 植入 Timber Timber.plant(new FileLoggingTree(this)); // 打印日志文件的路径 Timber.d("Log file path: " + this.getFilesDir() + "/logs/echoLink.log"); + // 安排定时任务 + doScheduledTask(this); + } + private void doScheduledTask(Context context){ + Timber.d("start do scheduled task"); + PeriodicWorkRequest heartbeatWorkRequest = + new PeriodicWorkRequest.Builder(HeartbeatWorker.class, EXECUTION_INTERVAL, TimeUnit.MINUTES) + .build(); + + // 安排周期性工作 + WorkManager.getInstance(context).enqueueUniquePeriodicWork("HeartbeatWork", + ExistingPeriodicWorkPolicy.KEEP, + heartbeatWorkRequest); } }