在特定日期和时间显示通知
show a notification on a particular date and time
我需要在特定日期和时间 (27-06-2015 13:00) 显示通知。最初我展示了一条敬酒消息。我已经创建了一个广播接收器来做到这一点。我这样调用未决意图 -
Activity代码-
Calendar cal=Calendar.getInstance();
cal.set(Calendar.MONTH,(5));
cal.set(Calendar.YEAR,2015);
cal.set(Calendar.DAY_OF_MONTH, 27);
cal.set(Calendar.HOUR_OF_DAY,13);
cal.set(Calendar.MINUTE,00);
Intent myIntent1 = new Intent(this, AlarmBroadCustReciver.class);
PendingIntent pendingIntent1 = PendingIntent.getBroadcast(this, 1253, myIntent1,
PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager1 = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager1.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent1);
广播接收者代码-
public class AlarmBroadCustReciver extends BroadcastReceiver {
public AlarmBroadCustReciver() {
}
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Alarm worked.", Toast.LENGTH_LONG).show();
}
}
我正在尝试通过更改 phone.I 的时间来检查是否正在将 phone 时间更改为 12:59。但是当我调用 Broadcast Receiver 时,它会立即给出 toast 消息,它应该根据我的逻辑在时间 13:00 时显示。我做错了什么吗?
您的代码中的每件事看起来都很清楚,可能是您初始化的 Calendar
obj 的问题。
一旦尝试如下,
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
cal.clear();
cal.set(2015,5,27,13,00);
并设置
alarmManager1.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent1);
希望对您有所帮助。
我需要在特定日期和时间 (27-06-2015 13:00) 显示通知。最初我展示了一条敬酒消息。我已经创建了一个广播接收器来做到这一点。我这样调用未决意图 -
Activity代码-
Calendar cal=Calendar.getInstance();
cal.set(Calendar.MONTH,(5));
cal.set(Calendar.YEAR,2015);
cal.set(Calendar.DAY_OF_MONTH, 27);
cal.set(Calendar.HOUR_OF_DAY,13);
cal.set(Calendar.MINUTE,00);
Intent myIntent1 = new Intent(this, AlarmBroadCustReciver.class);
PendingIntent pendingIntent1 = PendingIntent.getBroadcast(this, 1253, myIntent1,
PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager1 = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager1.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent1);
广播接收者代码-
public class AlarmBroadCustReciver extends BroadcastReceiver {
public AlarmBroadCustReciver() {
}
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Alarm worked.", Toast.LENGTH_LONG).show();
}
}
我正在尝试通过更改 phone.I 的时间来检查是否正在将 phone 时间更改为 12:59。但是当我调用 Broadcast Receiver 时,它会立即给出 toast 消息,它应该根据我的逻辑在时间 13:00 时显示。我做错了什么吗?
您的代码中的每件事看起来都很清楚,可能是您初始化的 Calendar
obj 的问题。
一旦尝试如下,
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
cal.clear();
cal.set(2015,5,27,13,00);
并设置
alarmManager1.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent1);
希望对您有所帮助。