2011-07-04 88 views
1

我需要根據DB中的時間值提示報警。我經歷了很多例子,但讓我感到困惑。 2011-07-03 02:00:00:000可以讓任何機構幫助設置給定時間的重複鬧鐘嗎?它應該重複5分鐘的時間間隔。給定時間的報警服務

回答

1

我建議你創建一個服務。該服務可以讀取數據庫並使用AlarmManager類設置警報。您可以根據您的使用使用AlarmManager的set()或setRepeating()方法。 http://developer.android.com/reference/android/app/AlarmManager.html#set%28int,%20long,%20android.app.PendingIntent%29

這是一個AlarmManager使用示例。

long triggerAtTime = SystemClock.elapsedRealtime() + triggerAfterTime; 
    AlarmManager mgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); 
    Intent i = new Intent(context, YourAlarmReceiver.class); 
    PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0); 

    mgr.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pi); 

YourAlarmReceiver類(通常)可以是一個BroadcastReceiver,您的邏輯將在觸發警報時發生。

1

There is no public API for the Calendar application,儘管它是Google日曆的原生UI,但您可以通過其GData API將事件推送到Google日曆。

您可以使用AlarmManager類

AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); 
     Calendar calendar = Calendar.getInstance();  
    calendar.setTimeInMillis(System.currentTimeMillis()); 
      calendar.add(Calendar.SECOND, 10);   
    alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); 
+1

我不確定Calendar API的相關性。可以使用AlarmManager使用警報服務。無需Calendar API – GSree

+0

@GSree:thnx獲取信息 – Stuti