コード例 #1
0
 private void addOneOff(long winStartSecs, long winEndSecs, int connectivity, boolean charging) {
   if (winStartSecs > winEndSecs) {
     Toast.makeText(getActivity(), getString(R.string.scheduler_error_window), Toast.LENGTH_SHORT)
         .show();
     return;
   }
   String tag = Long.toString(SystemClock.currentThreadTimeMillis());
   final long elapsedNowSeconds = SystemClock.elapsedRealtime() / 1000;
   final TaskTracker taskTracker =
       TaskTracker.createOneoff(
           tag, elapsedNowSeconds + winStartSecs, elapsedNowSeconds + winEndSecs);
   OneoffTask oneOff =
       new OneoffTask.Builder()
           .setService(TaskSchedulerService.class)
           .setTag(tag)
           .setExecutionWindow(winStartSecs, winEndSecs)
           .setRequiredNetwork(connectivity)
           // Persistence not yet support for Oneoffs.
           .setRequiresCharging(charging)
           .build();
   mScheduler.schedule(oneOff);
   mTasks.updateTask(taskTracker);
 }