1
私は、Bluetoothの電源をオンにして、曜日の時刻をユーザからオフにするアプリケーションを開発し、アラームサービスを使用する予定です。私はテストのためにつかんだコードを使っていました。アラームサービスを使用して毎日特定の時刻にブルートゥースをオフにする
Intent myIntent = new Intent(AndroidAlarmService.this, MyAlarmService.class);
pendingIntent = PendingIntent.getService(AndroidAlarmService.this, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
/*
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 30);
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
pendingIntent);
*/
Calendar cur_cal = new GregorianCalendar();
cur_cal.setTimeInMillis(System.currentTimeMillis());
Calendar cal = new GregorianCalendar();
cal.add(Calendar.DAY_OF_YEAR, cur_cal.get(Calendar.DAY_OF_YEAR));
cal.set(Calendar.HOUR_OF_DAY, 13);
cal.set(Calendar.MINUTE, 23);
cal.set(Calendar.SECOND, 0);
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));
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
しかし、これは午後1時30分にサービスを開始しません。 コメントアウトされたコードは正常に動作します。それは現在の時間から30分間の間に私の警報を引き起こす。しかし、私はハードコード時間。それは仕事をしません。私は、Calender calのコードスニペットの間違いを理解することはできません。
私は間違っていますか?
はいオフコースです。しかし私はちょうどテストするためにセットを使用しました。私が – learner
を指定した時にアラームが消えない場合は、開始時にSystemClock.currentTimeMillis()を試してみてください。あなたのpendingIntentが起動しているか、カレンダーが起動しないことを確認してください。 – Thkru
コメントアウトされたコードを問題なく使用していると私の保留中の意図が発砲しています。ハードコーディングされたカレンダーインスタンスはそれを起動しません – learner