-1

I am trying to create a notification that fires on a specific day and time.

public void notify(View v){
  Calendar calendar = Calendar.getInstance();
  calendar.set(Calendar.DAY_OF_WEEK, 2);
  calendar.set(Calendar.HOUR_OF_DAY, 8);
  calendar.set(Calendar.MINUTE, 0);
  calendar.set(Calendar.SECOND, 0);
    mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
      final Notification notifyDetails = new Notification(R.drawable.android_logo,"New Alert, Click Me!",calendar);
    Context context = getApplicationContext();
      CharSequence contentTitle = "Notification Details...";
      CharSequence contentText = "Browse Android Official Site by clicking me";
      Intent notifyIntent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("http://www.android.com"));
      PendingIntent intent =    PendingIntent.getActivity(AllClasses.this, 0,   notifyIntent, android.content.Intent.FLAG_ACTIVITY_NEW_TASK);

    notifyDetails.setLatestEventInfo(context, contentTitle, contentText, intent);
    mNotificationManager.notify(SIMPLE_NOTFICATION_ID, notifyDetails);

}

The error in my code is trying to pass the Calendar instance to the Notification constructor. I'm happy enough to use status bar notification rather than alarm. Is there a way to give this calendar object to the notification?

Thanks!

frayab
  • 2,512
  • 20
  • 25
user1797190
  • 227
  • 1
  • 3
  • 8

1 Answers1

0

Change:

final Notification notifyDetails = new Notification(R.drawable.android_logo,
"New Alert, Click Me!",calendar);

By this;

final Notification notifyDetails = new Notification(R.drawable.android_logo,
"New Alert, Click Me!",calendar.getTimeInMillis());

If you want to do it periodically you should use an alarm that sends an Intent to a ServiceIntent and in this launch the notification.

frayab
  • 2,512
  • 20
  • 25