您正在尝试构建一个没有约束的作业,这是不允许的 java.lang.IllegalArgumentException



我的应用程序在29及以上工作良好,但低于29我得到这个错误,我不想使用任何约束是他们的任何方式解决这个问题,而不使用约束

private fun scheduleService(sms: Sms) {
Log.i("JobID","${sms.messages.messageId.toInt()}")
val jobScheduler=    requireContext().getSystemService(AppCompatActivity.JOB_SCHEDULER_SERVICE) as JobScheduler
val serializedSms  =    GsonUtils.serializeSms(sms)
val componentName  = ComponentName(requireContext() , TodoJobService::class.java)
val jobInfo = JobInfo.Builder(sms.messages.messageId.toInt() ,componentName)

jobInfo.setPersisted(true )
val persistableBundle = PersistableBundle()
persistableBundle.putString(TodoJobService.JOB_KEY,serializedSms)
jobInfo.setExtras(persistableBundle)

jobScheduler.schedule(jobInfo.build())

}

看起来不像:

在Android版本Build.VERSION_CODES#Q之前,您必须在正在创建的JobInfo对象上指定至少一个约束。否则,构建器将在构建时抛出异常。从Android版本Build.VERSION_CODES#Q开始,可以在没有约束的情况下调度作业。

你就不能设置一个无关紧要的约束吗?一个较低的最小值,您喜欢的退让策略,诸如此类

最新更新