2015-09-11 17 views
0

在我的應用程序中,我多次設置了鬧鐘功能。因此,在設備重新啓動/啓動後,我從數據庫中獲取警報數據,並使用服務重新設置警報。這工作正常,但設置了鬧鐘後(我打印在日誌),應用程序也打開。但我並沒有從該服務開始任何活動。請看下面的服務分類代碼:Android BOOT_COMPLETED成功運行服務,但它也打開應用程序

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()); 
     } 
    } 
} 

什麼可能是原因和如何解決這個缺陷,請建議。

回答

0
long now = new Date().getTime(); 
while (time < now) { 
    time += AlarmManager.INTERVAL_DAY; 
} 

我需要設置鬧鐘防止應用設備重啓後打開之前添加上面的代碼片斷。

相關問題