问题描述
我一直在做“ content:// sms”观察者
我需要这个观察者能够在后台状态下工作(我杀死我的应用程序时的状态)
所以我用JobScheduler观察了Uri。
但我无法使其正常工作。
我的代码在这里有问题吗?
您能提供一些文章来阅读吗?
注册调度程序
private void scheduleJob() {
final JobScheduler jobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
final ComponentName name = new ComponentName(this,MyJobservice.class);
//jobScheduler.schedule(getJobInfo(123,name));
final int result = jobScheduler.schedule(getJobInfo(123,name));
if (result == JobScheduler.RESULT_SUCCESS) {
Log.d("sms/sent content observer","job scheduling success");
}
}
private JobInfo getJobInfo(final int id,final ComponentName name) {
Uri MEDIA_URI = Uri.parse("content://sms/sent/");
final JobInfo jobInfo;
jobInfo = new JobInfo.Builder(id,name)
.addTriggerContentUri(new JobInfo.TriggerContentUri(MEDIA_URI,0))
.build();
return jobInfo;
}
MyJobService类别
class MyJobservice extends JobService {
@Override
public boolean onStartJob(final JobParameters params) {
HandlerThread handlerThread = new HandlerThread("SomeOtherThread");
Handler handler = new Handler(handlerThread.getLooper());
handler.post(new Runnable() {
@Override
public void run() {
// do some stuff,or not
jobFinished(params,true); // see this,we are saying we just finished the job
}
});
return true;
}
@Override
public boolean onStopJob(final JobParameters params) {
return false;
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)