android – 在没有约束的情况下解雇JobService
作者:互联网
我在一些设备上有一个小问题我的通知是没有背景,有时在Android O上没有激发(特别是在小米上).我正在使用Awareness 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)
我发现了一个错误“你正试图建立一个没有约束的工作,这是不允许的”.但我不需要任何限制,这是我发现最有可能始终有效的.但实际上总是有效的约束是什么?
如何在没有任何约束的情况下触发JobService?
解决方法:
我正在使用.setOverrideDeadline(0).它基本上按计划运行,我认为没有任何损害.我认为这是一个比网络更好的约束,因为它总是令人满意,而用户不可能100%拥有网络.
我发现无法成功设置任何约束.
标签:android,jobservice 来源: https://codeday.me/bug/20190731/1587044.html