下面列出了怎么用android.app.job.JobService的API类实例代码及写法,或者点击链接到github查看源代码。
private void enforceValidJobRequest(int uid, JobInfo job) {
final IPackageManager pm = AppGlobals.getPackageManager();
final ComponentName service = job.getService();
try {
ServiceInfo si = pm.getServiceInfo(service,
PackageManager.MATCH_DIRECT_BOOT_AWARE
| PackageManager.MATCH_DIRECT_BOOT_UNAWARE,
UserHandle.getUserId(uid));
if (si == null) {
throw new IllegalArgumentException("No such service " + service);
}
if (si.applicationInfo.uid != uid) {
throw new IllegalArgumentException("uid " + uid +
" cannot schedule job in " + service.getPackageName());
}
if (!JobService.PERMISSION_BIND.equals(si.permission)) {
throw new IllegalArgumentException("Scheduled service " + service
+ " does not require android.permission.BIND_JOB_SERVICE permission");
}
} catch (RemoteException e) {
// Can't happen; the Package Manager is in this same process
}
}
public void setJobService(JobService jobService, JobParameters params) {
mJobService = jobService;
mParams = params;
}
public EventListener(JobService service, JobParameters jobParameters, EventBus bus) {
this.service = service;
this.jobParameters = jobParameters;
this.bus = bus;
}
public DownloadTask(JobService jobService) {
this.jobService = jobService;
}