1

我正在尝试在android中创建一个调度程序应用程序,我想在指定的时间每天在后台运行应用程序。下面是代码,但这对我不起作用请建议

  private void setAlarm(String targetCal){
    String[] Time=targetCal.split(":");
    Intent intent = new Intent(getBaseContext(), AlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), RQS_1, intent, 0);
    AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    Calendar timeOff = Calendar.getInstance();
    //int days = Calendar.SUNDAY + (7 - timeOff.get(Calendar.DAY_OF_WEEK)); // how many days until Sunday
    timeOff.set(Calendar.HOUR,Integer.valueOf(Time[0]));
    timeOff.set(Calendar.MINUTE,Integer.valueOf(Time[1]));
    timeOff.set(Calendar.SECOND, 00);
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, timeOff.getTimeInMillis(), 24*60*60*1000 , pendingIntent);

}
4

1 回答 1

0

根据您的描述,我无法确定它不起作用的原因,但我的猜测是您没有获得 a WakeLockinAlarmReceiveronReceive()方法。

前段时间我发布了一个类似的问题,而我正在尝试实现类似的东西。查看接受的答案和来自 CommonsWare 的答案。我希望它们对解决您的问题很有用。

问候!

于 2013-04-16T11:18:48.330 回答