使用Alarm manager在android中每天显示多个通知

时间:2013-07-07 11:53:18

标签: android service notifications alarmmanager android-pendingintent

我想在2个特定时间内在我的应用程序中每天显示2个通知,直到现在我只能显示一个通知。 这是我的代码,如何显示多个通知。 一个在早上7点,另一个在下午6点?

        Intent myIntent = new Intent(Calender.this, MyAlarmService.class);
         int id = (int) System.currentTimeMillis();

        pendingIntent = PendingIntent.getService(Calender.this, id,
                myIntent, Notification.FLAG_ONLY_ALERT_ONCE);

        AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);

        Calendar timeToSet = Calendar.getInstance();
        timeToSet.set(Calendar.HOUR_OF_DAY, hour);

        alarmManager.set(AlarmManager.RTC_WAKEUP,
                timeToSet.getTimeInMillis(), pendingIntent); 

我在onStart方法的MyAlarmService中调用了它

     final Calendar c = Calendar.getInstance();


    Notification note = new Notification(R.drawable.icon,
            getString(R.string.app_name), System.currentTimeMillis());
    Intent intent = new Intent(this, Calender.class);
    PendingIntent i = PendingIntent.getActivity(this, 0, intent,
            Notification.FLAG_ONGOING_EVENT);
    note.setLatestEventInfo(this, getString(R.string.app_name),
            "Some String", i);
    note.flags |= Notification.FLAG_AUTO_CANCEL;
    NOTIFY_ME_ID =  System.currentTimeMillis();
    mgr.notify((int) NOTIFY_ME_ID, note);

1 个答案:

答案 0 :(得分:0)

您应该为不同的通知设置不同的键。如果您使用一个密钥进行多次通知,则会重写相同的密钥。