1

毎日午前8時から午後6時までサービスを開始したい。目覚ましを3つ使っています。

  1. 毎日午前 8 時にアラーム 2 を開始します。
  2. 1分ごとにサービスを開始するため。
  3. アラーム 2 を停止します。

それは適切な方法ですか?また、アラーム1からアラーム2を開始できません。

これはアラーム 1 のコードです。

    public class AlarmReceiver1 extends BroadcastReceiver {
        int interval;
        @Override
        public void onReceive(Context context, Intent intent) {
            AlarmManager manager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
            Intent in=new Intent(this,AlarmReceiver2);
            PendingIntent startingIntent = PendingIntent.getBroadcast(context, 0,in, 0);

            long duration = interval * 60 * 1000;
            manager.setRepeating(AlarmManager.RTC_WAKEUP,timeOn.getTimeInMillis(), 86400000,startingIntent);
        }
}
4

1 に答える 1

0

適切にセットアップされているかどうかを判断するには、コードが十分ではありません。AlarmManager の設定方法については、ここに良い例があります。見落としがあれば一読することをお勧めします。

また、例でわかるように、電話を再起動するたびにアラームをリセットする必要があります。そうしないと、サービスは実行されません。

于 2013-05-14T07:24:32.277 に答える