Commit 945b46ca authored by wanglei's avatar wanglei

...闹钟

parent fed75f19
package com.base.appzxhy
import AlarmUtils.startAlarm
import android.app.Activity
import android.app.Application
import android.content.Context
......@@ -13,13 +14,14 @@ import com.base.appzxhy.bean.config.AdConfigBean
import com.base.appzxhy.bean.config.ConfigBean
import com.base.appzxhy.bean.config.PopupConfigBean
import com.base.appzxhy.fcm.FCMManager
import com.base.appzxhy.fcm.TimerManager.Companion.changeTimer
import com.base.appzxhy.fcm.timer.TimerManager.Companion.changeTimer
import com.base.appzxhy.fcm.receiver.BatteryStatusReceiver
import com.base.appzxhy.fcm.receiver.PackageStatusReceiver
import com.base.appzxhy.fcm.receiver.ScreenStatusReceiver
import com.base.appzxhy.helper.EventUtils
import com.base.appzxhy.helper.InstallHelps
import com.base.appzxhy.helper.NewComUtils
import com.base.appzxhy.service.StayJobService.Companion.startJob
import com.base.appzxhy.ui.start.StartActivity
import com.base.appzxhy.utils.ActivityManagerUtils
import com.base.appzxhy.utils.AppPreferences
......@@ -135,10 +137,13 @@ class MyApplication : Application() {
PackageStatusReceiver.registerPackageStatusReceiver(this)
BatteryStatusReceiver.registerBatteryStatusReceiver(this)
// startJob()
// startAlarm(appContext, 24)
// startAlarm(appContext, 48)
// startAlarm(appContext, 72)
startAlarm(appContext, 24)
startAlarm(appContext, 48)
startAlarm(appContext, 72)
kotlin.runCatching {
startJob()
}
}
......
package com.base.appzxhy.fcm.alarm
import android.annotation.SuppressLint
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import com.base.appzxhy.bean.NotificationSendBean
import com.base.appzxhy.bean.NotificationSendBean.Companion.POPUP_WHERE_ALARM
import com.base.appzxhy.fcm.notification.MyNotificationManager
import com.base.appzxhy.fcm.work.RepeatingWorker.Companion.schedulePeriodicWork
import com.base.appzxhy.helper.EventUtils
import com.base.appzxhy.utils.AppPreferences
import com.base.appzxhy.utils.LogEx
/**
*
*/
class AlarmReceiver : BroadcastReceiver() {
private val TAG = "AlarmJobReceiver"
@SuppressLint("UnsafeProtectedBroadcastReceiver")
override fun onReceive(context: Context, intent: Intent?) {
LogEx.logDebug(TAG, "AlarmJobReceiver onReceive")
val lastAlarmTime = AppPreferences.getInstance().getLong("lastAlarmTime", 0L)
val currentTime = System.currentTimeMillis()
if (lastAlarmTime == 0L || currentTime - lastAlarmTime >= 1000 * 30 * 60) {
EventUtils.event("alarm_push")
val sendBean = NotificationSendBean(context, POPUP_WHERE_ALARM, canSend = { true }, sendSuccess = {})
MyNotificationManager.submitSendBean(sendBean)
AppPreferences.getInstance().put("lastAlarmTime", System.currentTimeMillis())
}
schedulePeriodicWork(context)
return
}
}
\ No newline at end of file
import android.app.AlarmManager
import android.app.PendingIntent
import android.app.job.JobService
import android.content.Context
import android.content.Intent
import com.base.appzxhy.BuildConfig
import com.base.appzxhy.fcm.alarm.AlarmReceiver
import com.base.appzxhy.fcm.work.RepeatingWorker.Companion.schedulePeriodicWork
import java.util.Calendar
object AlarmUtils {
fun startAlarm(context: Context, hour: Int) {
// context.startJob()
//闹钟定时任务
val alarmManager = context.getSystemService(JobService.ALARM_SERVICE) as AlarmManager
val pendingIntent = PendingIntent.getBroadcast(
context, hour, Intent(context, AlarmReceiver::class.java),
PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
)
val calendar = Calendar.getInstance()
calendar.set(Calendar.HOUR_OF_DAY, 6)
calendar.set(Calendar.MINUTE, 0)
calendar.set(Calendar.SECOND, 0)
val oneHour = 60 * 60 * 1000L
var delay = oneHour * hour
if (BuildConfig.DEBUG) {
delay = 1 * 60 * 1000L
}
alarmManager.setRepeating(
AlarmManager.RTC_WAKEUP, calendar.timeInMillis, delay, pendingIntent
)
schedulePeriodicWork(context)
}
}
\ No newline at end of file
package com.base.appzxhy.fcm
package com.base.appzxhy.fcm.timer
import com.base.appzxhy.MyApplication
import com.base.appzxhy.bean.config.PopupConfigBean.Companion.popupConfigBean
......
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