我正在创建工作服务。 该服务将根据发送的短信(已发送)的变化而触发,可以正常运行,但无法捕获某些消息。
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());
我只捕获通过此作业发送的消息,当我向一个号码发送多个消息时,它仅捕获最新消息。
我不想使用前台服务。
答案 0 :(得分:0)
要立即触发,您需要添加setTriggerContentMaxDelay
JobInfo.Builder builder = new
JobInfo.Builder(1, component).addTriggerContentUri(triggerContentUri).setTriggerContentMaxDelay(0);