服务一段时间后自动呼叫功能

Auto call function after some time with service

我想用 api 方法调用一个函数来 @Post 一些信息,比如来自通知 (FCM) 的注册令牌。 当应用程序将被终止时,它也应该被触发。 实现此功能的最佳方式是什么?我可以使用某种通知服务来实现它,还是应该像下面的示例一样提供其他服务。

Android: keep Service running when app is killed

编辑 1:

    fun autoConsumingSendingToken() {
        Log.d("tokenworker", "5 AUTOCONSUMING MAINACTIVITY")
        val myWorkRequest: WorkRequest =
            PeriodicWorkRequestBuilder<AutoTokenWorker>(20, TimeUnit.SECONDS).build()

        WorkManager
            .getInstance(applicationContext)
            .enqueue(myWorkRequest)
    }

应对这种情况的最佳方法是使用 Android WorkManager

基本上,您必须声明一个 class 包含您要执行的工作:


class MyWorker(appContext: Context, workerParams: WorkerParameters):
       Worker(appContext, workerParams) {

   override fun doWork(): Result {
       //call your function
       return Result.success()
   }
}

然后创建并安排您的工作:

val myWorkRequest: WorkRequest =
   PeriodicWorkRequestBuilder<MyWorker>(1, TimeUnit.HOURS).build()

WorkManager
    .getInstance(myContext)
    .enqueue(myWorkRequest)

您可以根据需要调整工作时间表。