私のアプリケーションは、特定の時間に複数のアラームをスケジュールします。これらのアラームは、アプリケーションの起動時にスケジュールされます。(毎日5つのアラームがあり、1週間に35のアラームが発生します)...
これらのアラームがアプリケーションの起動時にスケジュールされていることをログで確認しました。
問題は、アプリケーションのテストを開始したときに、7つのアラームが完全に正常に鳴ることです。ただし、8番目のアラームは発生しません。デバイスを1日以上静止させて、このシナリオをテストしました。この動作をデバッグするにはどうすればよいですか。また、発火のアラームを妨げる可能性のある理由は何ですか。
編集:
スケジューリングのコード:
try {
if (info != null) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month);
c.set(Calendar.DAY_OF_MONTH, day);
c.set(Calendar.HOUR_OF_DAY, info.getHour());
c.set(Calendar.MINUTE, info.getMinute());
c.set(Calendar.SECOND, 0);
Intent intent = new Intent(context, AlarmReceiverActivity.class);
intent.putExtra("name", info.getPrayerName());
intent.putExtra("sound", soundType);
intent.putExtra("time", formatTimeClock(context, info.getHour(), info.getMinute()));
PendingIntent pendingIntent = PendingIntent.getActivity(context, alarmId, intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pendingIntent);
}
} catch (Exception e) {
Log.e("ALarmSchedularManager", e.getMessage());
}