当前位置 : 主页 > 手机开发 > android >

android – 在没有约束的情况下解雇JobService

来源:互联网 收集:自由互联 发布时间:2021-06-11
我在一些设备上有一个小问题我的通知是没有背景,有时在 Android O上没有激发(特别是在小米上).我正在使用Awareness API,我从BroadcastReceiver接收数据.所以…我想做的是将我的通知放在JobSe
我在一些设备上有一个小问题我的通知是没有背景,有时在 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%拥有网络.

我发现无法成功设置任何约束.

网友评论