我需要根据数据库中的日期和时间创建提醒应用程序(例如:31-08-2011 10:30,05-09-2011 14:40等),即使应用程序没有运行..数据库将包含许多日期。如果时间到了,我需要显示通知。我怎么能这样做。请提供任何样品或建议
答案 0 :(得分:3)
你应该使用AlarmManager。
AlarmManager mgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, OnAlarmReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);
mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime(), PERIOD, pi);
其中PERIOD是你应该在OnAlarmReceiver中执行的东西的时间。 然后,只需在
中实现方法@Override
public void onReceive(Context context, Intent intent) {
NotificationManager nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification();
notification.tickerText = "10 Minutes past";
nm.notify(0, notification);
}
另见这里,
http://developer.android.com/reference/android/app/AlarmManager.html
编辑:修复了次要代码问题!
答案 1 :(得分:-1)
将此代码放在您需要的任何地方..
new CountDownTimer(diff, 1) //Constructor for CountDownTimer class (milliseconds,difference);
{
public void onTick(long millisUntilFinished)
{
// DO NOTHING
}
public void onFinish() {
sendSMS(phoneNo,message);
}
}.start();