我需要根据DB中的时间值提示报警。我经历了很多例子,但令我感到困惑。任何机构都可以帮助设置重复警报,如2011-07-03 02:00:00:000。它应该重复5分钟。
答案 0 :(得分:1)
There is no public API for the Calendar application
,虽然它是Google日历的原生用户界面,但您可以通过其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 :(得分: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,您的逻辑会在触发警报时发生。