私のアプリでは、アラームを設定し、ステータス バーに通知を表示する必要があります。スケジュールされたイベントをデータベースに保存し、通知が表示されたらイベントを削除します。
デバイスの電源をオフにして、もう一度オンにすると。ベースのリストは存在しますが、アラーム イベントはトリガーされません。デバイスの電源を切ると、保留中のイベントがキャンセルされたようです。
これを防ぐ方法は?デバイスがオンになっているときはいつでも通知を表示する必要があり、アラームの時間が来ます。
これは私がアラームを設定する方法です:
Intent intent = new Intent(activity, TimeAlarm.class);
intent.putExtra(SHOW_NAME, showName);
intent.putExtra(SHOW_START_TIME, showStartTime);
intent.putExtra(CHANNEL_NAME, channelName);
intent.putExtra(VIBRATION_ENABLED, isVibrate);
intent.putExtra(SOUND_ENABLED, isSound);
int alarmId = (int) System.currentTimeMillis();
intent.putExtra(ALARM_ID, alarmId);
PendingIntent pendingIntent = PendingIntent.getBroadcast(activity,
alarmId, intent, PendingIntent.FLAG_ONE_SHOT);
am.set(AlarmManager.RTC_WAKEUP,
System.currentTimeMillis() + delayMilis, pendingIntent);
マニフェストファイルには、これだけがあります:
<receiver
android:name="com.moleandroid.tvprogramgui.alarm.TimeAlarm"
/receiver>
TimeAlarm クラスは私の受信機であり、そこからステータス バーに通知を表示します。
何が問題なのですか?