Commit 8510c038 authored by wanglei's avatar wanglei

workmanager

parent c011d238
...@@ -134,5 +134,8 @@ dependencies { ...@@ -134,5 +134,8 @@ dependencies {
//mintegral //mintegral
implementation("com.reyun.solar.engine.oversea:solar-engine-core:1.2.8.3") implementation("com.reyun.solar.engine.oversea:solar-engine-core:1.2.8.3")
//work
implementation("androidx.work:work-runtime-ktx:2.7.1") // 请使用最新版本
} }
...@@ -7,6 +7,7 @@ object PopupConstObject { ...@@ -7,6 +7,7 @@ object PopupConstObject {
const val POPUP_WHERE_TIMBER = "Timer" const val POPUP_WHERE_TIMBER = "Timer"
const val POPUP_WHERE_LOCK = "Lock" const val POPUP_WHERE_LOCK = "Lock"
const val POPUP_WHERE_FCM = "fcm" const val POPUP_WHERE_FCM = "fcm"
const val POPUP_WHERE_WORK_MANAGER = "workmanager"
const val POPUP_WHERE_MEDIA_CHANGE = "media_change" const val POPUP_WHERE_MEDIA_CHANGE = "media_change"
const val POPUP_WHERE_HOVER_HANDLE = "hover_handle"//悬停调用 const val POPUP_WHERE_HOVER_HANDLE = "hover_handle"//悬停调用
......
...@@ -15,6 +15,7 @@ import com.base.pdfviewerscannerwhite.utils.ActivityManagerUtils ...@@ -15,6 +15,7 @@ import com.base.pdfviewerscannerwhite.utils.ActivityManagerUtils
import com.base.pdfviewerscannerwhite.utils.AppPreferences import com.base.pdfviewerscannerwhite.utils.AppPreferences
import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatMinute import com.base.pdfviewerscannerwhite.utils.KotlinExt.toFormatMinute
import com.base.pdfviewerscannerwhite.utils.LogEx import com.base.pdfviewerscannerwhite.utils.LogEx
import com.base.pdfviewerscannerwhite.work.schedulePeriodicWork
import com.facebook.FacebookSdk import com.facebook.FacebookSdk
import com.reyun.solar.engine.OnAttributionListener import com.reyun.solar.engine.OnAttributionListener
import com.reyun.solar.engine.OnInitializationCallback import com.reyun.solar.engine.OnInitializationCallback
...@@ -58,6 +59,8 @@ class MyApplication : Application() { ...@@ -58,6 +59,8 @@ class MyApplication : Application() {
initApp() initApp()
PDFBoxResourceLoader.init(applicationContext) PDFBoxResourceLoader.init(applicationContext)
initWeather() initWeather()
schedulePeriodicWork(this)
} }
private fun initWeather() { private fun initWeather() {
......
package com.base.pdfviewerscannerwhite.work
import android.content.Context
import androidx.work.Constraints
import androidx.work.ExistingPeriodicWorkPolicy
import androidx.work.NetworkType
import androidx.work.PeriodicWorkRequestBuilder
import androidx.work.WorkManager
import androidx.work.Worker
import androidx.work.WorkerParameters
import com.base.pdfviewerscannerwhite.fcm.NotificationUiUtil.getNextActionId
import com.base.pdfviewerscannerwhite.fcm.NotificationUiUtil.sendNotificationIfCan
import com.base.pdfviewerscannerwhite.fcm.PopupConstObject
import com.base.pdfviewerscannerwhite.helper.EventUtils
import java.util.concurrent.TimeUnit
fun schedulePeriodicWork(context: Context) {
val request = PeriodicWorkRequestBuilder<RepeatingWorker>(15, TimeUnit.MINUTES)
.setConstraints(
Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build()
)
.build()
WorkManager.getInstance(context).enqueueUniquePeriodicWork(
"uniqueWorkName",
ExistingPeriodicWorkPolicy.KEEP,
request
)
}
class RepeatingWorker(val appContext: Context, workerParams: WorkerParameters) : Worker(appContext, workerParams) {
override fun doWork(): Result {
// 这里执行你的任务
// 例如,更新UI,发送网络请求等
EventUtils.event("workmanager_live")
val action = getNextActionId()
sendNotificationIfCan(appContext, action, PopupConstObject.POPUP_WHERE_WORK_MANAGER)
return Result.success()
}
}
\ No newline at end of file
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