无拘无束地解雇工作服务



在某些设备上,我的无后台通知有时会在android O(特别是在小米上(触发时遇到小问题。我正在使用意识API,我从BroadcastReceiver接收数据。我想做的是把我的通知放在JobService中,也许会得到一些处理时间,然后这样称呼它:

PersistableBundle bundle = new PersistableBundle();
bundle.putString("KEY1", "Test");
JobInfo job = new JobInfo.Builder(0, new ComponentName(context, AppNotification.class))
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)
.setExtras(bundle)
.build();
JobScheduler jobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
jobScheduler.schedule(job);

但是当我运行它时没有

.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY)

我收到一个错误"您正在尝试构建一个没有约束的工作,这是不允许的"。但我不需要任何约束,这是我发现最有可能始终有效的约束。但是,实际上总是有效的约束是什么? 如何不受任何限制地解雇工作服务?

我正在使用.setOverrideDeadline(0(。它基本上在计划后立即运行作业,我认为它没有害处。我认为这是一个比网络更好的约束,因为它总是满足,而用户不可能 100% 拥有网络。

我发现没有办法成功设置任何约束。

相关内容

  • 没有找到相关文章

最新更新