ジョブサービスを作成しています。このサービスは、SMS (送信済み) の変更に基づいてトリガーされます。正常に動作しますが、いくつかのメッセージをキャッチできませんでした。
ComponentName component = new ComponentName(context, jobTest.class);
Uri uri = Uri.parse("content://sms");
JobInfo.TriggerContentUri triggerContentUri = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
triggerContentUri = new JobInfo.TriggerContentUri(uri,
JobInfo.TriggerContentUri.FLAG_NOTIFY_FOR_DESCENDANTS);
}
JobInfo.Builder builder = new
JobInfo.Builder(1, component).addTriggerContentUri(triggerContentUri);
JobScheduler jobScheduler = (JobScheduler)
context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
jobScheduler.schedule(builder.build());
このジョブで送信されたメッセージのみをキャッチしていますが、ある番号に複数のメッセージを送信すると、最新のメッセージのみがキャッチされます。
フォアグラウンド サービスを使用したくありません。