私のアプリケーションでは、アラーム機能を複数回オンに設定しました。そのため、デバイスの再起動/起動後、DB からアラーム データを取得し、Service を使用してアラームを再度設定しています。これは正常に動作しますが、アラームを設定した後 (ログに印刷しました)、アプリも開きます。しかし、私はそのサービスから活動を開始していません。以下の Service クラスのコードを見てください。
public void onCreate() {
super.onCreate();
DBHelper moodsDB = new DBHelper(this);
ArrayList<HashMap<String, String>> reminder_list = moodsDB.getAllReminders();
for (HashMap<String, String> reminder : reminder_list) {
if(Integer.parseInt(reminder.get("active").toString()) == 1){
Date time = Utility.stringToDate(reminder.get("time").toString(), Utility.TIME_FORMAT_APP);
Log.i("Mood Journal", "Reminder Time = " + Utility.dateToString(time, Utility.TIME_FORMAT_APP));
Utility.cancelAlarmIfExists(this, Integer.parseInt(reminder.get("id").toString()));
Utility.setAlarm(this,
Integer.parseInt(reminder.get("id").toString()),
time.getTime());
}
}
}
この欠陥の理由と解決方法を教えてください。