[英]android reminder
我是android編程的新手,正在研究提醒應用程序。 現在,我已經將所有信息(包括日期和時間)存儲到SQLlite數據庫中。 我的問題是我如何將存儲在數據庫中的警報與Android上的當前時間進行匹配
查詢數據庫與日歷比較
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
}
}
您需要做的是首先創建需要計划的意圖。 然后獲取該意圖的pendingIntent。 您可以安排活動,服務和廣播。 安排活動,例如MyActivity:
Intent i = new Intent(getApplicationContext(), MyActivity.class);
PendingIntent pi = PendingIntent.getActivity(getApplicationContext(),3333,i,
PendingIntent.FLAG_CANCEL_CURRENT);
將此alarmIntent賦予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);
現在,無論您停止應用程序還是設備進入睡眠狀態(由於RTC_WAKEUP選項),MyActivity都會在應用程序啟動5秒后啟動。 您可以閱讀完整的示例代碼調度活動,服務和廣播#Android
或倒數秒,而不用使用日歷或相對的電話時間..我自己做了一個類似的應用,由於電話時間關閉或重置等原因,它似乎減少了變異性...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.