2

毎日特定の時間にアラームマネージャーを使用して機能を開始および終了する方法

例: StartTime : 07:00 End Time :15:00

 Calendar cur_cal = new GregorianCalendar();
 cur_cal.setTimeInMillis(System.currentTimeMillis());//set the current time and date for this calendar

 Calendar cal = new GregorianCalendar();
 cal.add(Calendar.DAY_OF_YEAR, cur_cal.get(Calendar.DAY_OF_YEAR));
 cal.set(Calendar.HOUR_OF_DAY, 07);
 cal.set(Calendar.MINUTE, 00);
 cal.set(Calendar.SECOND, cur_cal.get(Calendar.SECOND));
 cal.set(Calendar.MILLISECOND, cur_cal.get(Calendar.MILLISECOND));
 cal.set(Calendar.DATE, cur_cal.get(Calendar.DATE));
 cal.set(Calendar.MONTH, cur_cal.get(Calendar.MONTH));
Intent intent = new Intent(this, MyBroadcastReceiver.class);
    pendingIntent = PendingIntent.getBroadcast(
            this.getApplicationContext(), 234324243, intent, 0);
 AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
 alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 30*1000, pendingIntent );
4

1 に答える 1

0

Intent-Extras を使用して正しいアクション (開始または停止) を指定し、7:00 に開始する 1 つのアラームと 15:00 に停止する 1 つのアラームを設定します。

また、Alarmmanagerを使用して特定の時間にサービスを開始することを比較してください

于 2012-11-01T12:42:53.840 に答える