如何解决使用JobScheduler计划作业时遇到的android.os.RemoteException

问题描述

我正在尝试使用JobScheduler计划Job服务,并为Job Service使用以下清单文件

<manifest
  <application>
    <service
        android:name=".TestJobService"
        android:permission="android.permission.BIND_JOB_SERVICE"
        android:exported="true">
    </service>
  </application>
</manifest>

观察到异常:

08-11 00:14:18.057  8773  8773 E AndroidRuntime: Caused by: android.os.remoteexception: Remote stack trace:
08-11 00:14:18.057  8773  8773 E AndroidRuntime:        at com.android.server.job.JobSchedulerService$JobSchedulerStub.enforceValidJobRequest(JobSchedulerService.java:2666)
08-11 00:14:18.057  8773  8773 E AndroidRuntime:        at com.android.server.job.JobSchedulerService$JobSchedulerStub.schedule(JobSchedulerService.java:2728)
08-11 00:14:18.057  8773  8773 E AndroidRuntime:        at android.app.job.IJobScheduler$Stub.onTransact(IJobScheduler.java:153)
08-11 00:14:18.057  8773  8773 E AndroidRuntime:        at android.os.Binder.execTransactInternal(Binder.java:1021)
08-11 00:14:18.057  8773  8773 E AndroidRuntime:        at android.os.Binder.execTransact(Binder.java:994)
08-11 00:14:18.057  8773  8773 E AndroidRuntime: 

计划作业的代码

    val serviceComponent = ComponentName(context,TestJobService::class.java)
    val builder = JobInfo.Builder(0,serviceComponent)
      .setPeriodic(TimeUnit.MINUTES.toMillis(2))

    val jobScheduler =
      context.getSystemService(JobScheduler::class.java)
    jobScheduler.schedule(builder.build())

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)