只安排服务n没有。周期性时间之间的时间[晚上9点至凌晨12:00]

时间:2014-02-14 14:48:29

标签: android android-service android-alarms

我创建了服务UploadData,它在 Start Sync 事件中触发。添加编码在那里安排服务运行在晚上9点daliy与1小时间隔运行完全正常。

 ServiceAlarm.startServiceAlarm();

代码段:

public class ServiceAlarm {
public static AlarmManager alarmMgr;
public static PendingIntent alarmIntent;
static Context context;
public static void startServiceAlarm()
{
    context = MyApplication.getApplication();
    alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);       
    Intent intent = new Intent(SmartConsultant.getApplication(), UploadData.class);
    alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);

    // Set the alarm to start at 9:00 a.m.
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(System.currentTimeMillis());
    calendar.set(Calendar.HOUR_OF_DAY, 21);
    calendar.set(Calendar.MINUTE, 00);

    alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_HOUR, alarmIntent);
    Log.i("Service", "Service Started!");
}

  public static void stopServiceAlarm()
  {
    alarmMgr.cancel(alarmIntent);
   }
}

但我希望这些服务在凌晨12:00之后关闭[它必须在晚上9点到凌晨12:00之间每天运行三次]。

如何在凌晨12:00停止使用同一服务?

1 个答案:

答案 0 :(得分:0)

我不认为有一种特定的方法来安排停止时间。我会说,根据您的具体情况,最好的办法是更改服务电话的设置。让警报管理器在9点开火。然后当你收到警报时检查时间,如果还有一个小时仍然在午夜之前发出另一个警报。