1

30分ごとに定期的にアラームを設定しようとしていますが、機能しているとは思いません。以下のコードを使用します。

AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(MyActivity.this, Alarm.class);
PendingIntent alarmIntent = PendingIntent.getBroadcast(MyActivity.this, 0, intent, 0);

long selectedTimeMiliseconds = (long) (TimeUnit.MINUTES.toMillis(30));
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), selectedTimeMiliseconds, alarmIntent);

メソッドsetInexactRepeatingで2番目のパラメータを設定するには? setRepeating メソッドを使用した方が良いですか?

4

2 に答える 2

2

不正確はバッテリーを節約する方法ですが、それは... 不正確です。

AlarmManager には、デバイスがスリープ モードの場合、インテントが開始されないという問題があります。WakefulBroadCast を使用する必要があります。

https://developer.android.com/reference/android/support/v4/content/WakefulBroadcastReceiver.html

于 2014-03-21T07:38:15.373 に答える
0

これを試して..

alarmManager.setRepeating(AlarmManager.RTC, calendar.getTimeInMillis(), selectedTimeMiliseconds, alarmIntent);
于 2014-03-21T07:38:14.850 に答える