[英]Alarm manager In android SDK
private static final int HELLO_ID = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Date dat = new Date();//initializes to now
Calendar cal_alarm = Calendar.getInstance();
Calendar cal_now = Calendar.getInstance();
cal_now.setTime(dat);
cal_alarm.setTime(dat);
cal_alarm.set(Calendar.MONTH,3);
cal_alarm.set(Calendar.YEAR,2012);
cal_alarm.set(Calendar.DAY_OF_MONTH,4);
cal_alarm.set(Calendar.HOUR_OF_DAY,19);//set the alarm time
cal_alarm.set(Calendar.MINUTE, 15);
cal_alarm.set(Calendar.SECOND,0);
if(cal_alarm.before(cal_now)){//if its in the past increment
cal_alarm.add(Calendar.DATE,1);
}
Intent intent = new Intent(AlarmManagerTestActivity.this,
AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
AlarmManagerTestActivity.this, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal_alarm.getTimeInMillis(), pendingIntent);
}
您好,我想在特定日期設置警報和通知,我正在使用此處提供的代碼,但無法在特定日期設置警報。請讓我知道這里的錯誤。
在此先感謝Trapti
設置警報代碼
Intent intent = new Intent(cont, AlarmReceiverActivity.class);
intent.putExtra("id",getid);
PendingIntent penintent = PendingIntent.getBroadcast(cont, getid,
intent, 0);
AlarmManager alm = (AlarmManager) cont.getSystemService(ALARM_SERVICE);
alm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), penintent);
給您的代碼添加一些更改
public class AlarmReceiverActivity extends BroadcastReceiver {
private static final int MODE_WORLD_READABLE = 0;
private NotificationManager nm;
private Database_creat mDbHelper;
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String descr = null;
int id = intent.getIntExtra("id",0);
nm = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
CharSequence from = "To Do List";
Intent disintent = new Intent(context,Todo_display_win.class);
disintent.putExtra("id",sub_id);
Log.v("send to display Id", sub_id);
CharSequence message = title;
Notification notif = new Notification(R.drawable.notes,
"To do List", System.currentTimeMillis());
notif.flags=Notification.FLAG_AUTO_CANCEL;
PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
disintent,Notification.FLAG_AUTO_CANCEL);
notif.setLatestEventInfo(context, from, message, contentIntent);
nm.notify(1, notif);
//nm.cancel(1);
//notif.defaults |= Notification.FLAG_AUTO_CANCEL;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.