一部のデバイスでは、背景のない通知が Android O (特に Xiaomi) で発生しないことがあります。私はBroadcastReceiverからデータを受け取るAwareness APIを使用しています.だから...私がやろうと思ったのは、通知を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 を起動するにはどうすればよいですか?