Service在8.0之后需要做各种适配保活,还有通知栏的通知要处理,不想麻烦的朋友可以考虑使用WorkManager替换Service

val constraints = Constraints.Builder()
       .setRequiredNetworkType(NetworkType.CONNECTED)
       .build()
   val myWorkRequest = OneTimeWorkRequest.Builder(AutoWallpaperWork::class.java)
       .setConstraints(constraints)
       .build()

   WorkManager.getInstance(instance).enqueue(myWorkRequest)
class AutoWallpaperWork(var context: Context, params: WorkerParameters) : Worker(context, params) {

    override fun doWork(): Result {
  // 返回 Result.success() 表示任务执行成功
    return Result.success()
}

}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐