Commit 683ee99c authored by leichao.gao's avatar leichao.gao

update

parent b0f17ae9
...@@ -205,7 +205,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() { ...@@ -205,7 +205,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>() {
val delayTime = Random.nextLong(300, 550) val delayTime = Random.nextLong(300, 550)
delay(delayTime) delay(delayTime)
processTime += delayTime processTime += delayTime
if (processTime >= 5000) { if (processTime >= 15000) {
job?.cancel() job?.cancel()
AdmobOpenUtils.showAppOpenAd(this@SplashActivity) { AdmobOpenUtils.showAppOpenAd(this@SplashActivity) {
LogEx.logDebug(TAG, "where $it") LogEx.logDebug(TAG, "where $it")
......
package com.base.datarecovery.fcm; package com.base.datarecovery.fcm;
import android.util.Log; import android.util.Log;
import com.base.datarecovery.MyApplication; import com.base.datarecovery.MyApplication;
import java.util.Timer; import java.util.Timer;
import java.util.TimerTask; import java.util.TimerTask;
...@@ -13,7 +11,7 @@ public class RecoveryTimerManager { ...@@ -13,7 +11,7 @@ public class RecoveryTimerManager {
private boolean isTimerActive; private boolean isTimerActive;
private RecoveryTimerManager() { private RecoveryTimerManager() {
// 将构造方法设置为私有,确保通过 getInstance 方法获取实例 // 私有构造方法
} }
public static synchronized RecoveryTimerManager getInstance() { public static synchronized RecoveryTimerManager getInstance() {
...@@ -24,35 +22,40 @@ public class RecoveryTimerManager { ...@@ -24,35 +22,40 @@ public class RecoveryTimerManager {
} }
public void scheduleTask(long delay, long period) { public void scheduleTask(long delay, long period) {
ensureTimerIsStopped(); // 确保在启动新定时任务前停止旧的定时器 synchronized (RecoveryTimerManager.class) {
taskTimer = new Timer(); ensureTimerIsStopped(); // 确保定时器未运行
taskTimer = new Timer(); // 创建新的 Timer 实例
TimerTask task = new TimerTask() { TimerTask task = new TimerTask() {
@Override @Override
public void run() { public void run() {
Log.d("glc", "Scheduled task is running"); Log.d("glc", "Scheduled task is running");
if (ScreenStatusReceiver.isDeviceInteractive() && !ScreenStatusReceiver.isSecureLockActive() && MyApplication.PAUSED_VALUE!=1) { // 确保设备处于交互状态,未锁定,且应用未暂停
if (ScreenStatusReceiver.isDeviceInteractive() &&
!ScreenStatusReceiver.isSecureLockActive() &&
MyApplication.PAUSED_VALUE != 1) {
Log.d("glc", "Scheduled task conditions are met"); Log.d("glc", "Scheduled task conditions are met");
NotificationUtil.INSTANCE.sendNotification(MyApplication.context); NotificationUtil.INSTANCE.sendNotification(MyApplication.context);
} }
} }
}; };
taskTimer.schedule(task, delay, period); taskTimer.schedule(task, delay, period); // 调度任务
isTimerActive = true; isTimerActive = true; // 设置定时器状态为活跃
}
} }
private void ensureTimerIsStopped() { private void ensureTimerIsStopped() {
if (isTimerActive) { if (isTimerActive) {
if (taskTimer != null) {
taskTimer.cancel(); taskTimer.cancel();
taskTimer = null; taskTimer.purge(); // 清除所有取消的任务
isTimerActive = false; }
isTimerActive = false; // 重置定时器状态
} }
} }
public void stopTaskTimer() { public void stopTaskTimer() {
ensureTimerIsStopped(); synchronized (RecoveryTimerManager.class) {
// 清除所有取消的任务 ensureTimerIsStopped(); // 停止定时器
if (taskTimer != null) {
taskTimer.purge();
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment