2013-02-06 101 views
0

我是新的android編程,我正在提醒應用程序。現在,我已經將所有信息(包括日期和時間)存儲到SQLlite數據庫中。我的問題是我如何匹配存儲在數據庫與當前時間在Androidandroid提醒

+1

只需比較兩個日期。 –

+0

你有答案嗎? 我也需要類似的問題的解決方案! –

回答

1

查詢報警數據庫與日曆

Calendar c = Calendar.getInstance(); 
c.set(Calendar.MONTH, Calendar.MARCH); 
c.set(Calendar.DAY_OF_MONTH, 3); 
long time2= c.getTimeInMillis(); 
c.set(Calendar.MONTH, Calendar.AUGUST); 
    c.set(Calendar.DAY_OF_MONTH, 8); 
    long time3= c.getTimeInMillis(); 
    if(time>time2){ 
//Logic 
if(time>time3){ 
    //Logic 
} 
} 
1

你需要做的就是先創建你需要安排的意圖是什麼比較。然後獲取該意圖的pendingIntent。您可以安排活動,服務和廣播。要安排活動如MyActivity:

Intent i = new Intent(getApplicationContext(), MyActivity.class); 
    PendingIntent pi = PendingIntent.getActivity(getApplicationContext(),3333,i, 
    PendingIntent.FLAG_CANCEL_CURRENT); 

給這個的PendingIntent到alarmManager:

//getting current time and add 5 seconds in it 
    Calendar cal = Calendar.getInstance(); 
    cal.add(Calendar.SECOND, 5); 
    //registering our pending intent with alarmmanager 
    AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); 
    am.set(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis(), pi); 

現在MyActivity將應用程序啓動的5秒後啓動,不管你停你的應用程序或設備中去睡眠狀態(由於RTC_WAKEUP選項)。你可以閱讀完整的示例代碼Scheduling activities, services and broadcasts #Android

1

或倒計時秒,而不是使用日曆或相對手機時間..自己做了一個類似的應用程序,它似乎可以減少由於電話時間關閉或重置等可變性...