Java android SDK中的报警管理器
您好,我想在特定日期设置警报和通知,我正在使用此处提供的代码,但我无法在特定日期设置警报。请告诉我此处的错误 提前谢谢 Trapti设置报警代码Java android SDK中的报警管理器,java,android,Java,Android,您好,我想在特定日期设置警报和通知,我正在使用此处提供的代码,但我无法在特定日期设置警报。请告诉我此处的错误 提前谢谢 Trapti设置报警代码 private static final int HELLO_ID = 0; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.o
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);
}
对代码进行一些更改
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);
如果出现任何错误,请提供logcat错误。以及如何检查]不,我实际上没有收到错误,但laarm未设置在特定日期。当我在wmulator上启动此应用程序时,会向我显示注销消息。我不知道是什么问题。请帮助你如何检查它???通过增加模拟器日历中的日期。显示AlarmReceiver.classs非常感谢你,Shazad,这是我想要的:)你回复得很好…你解决了它。。。
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;
}
}