How schedule local notifications Android?

Minixuru picture Minixuru · Apr 16, 2014 · Viewed 18.2k times · Source

i have a question about local notifications in Android. I am developing an application where in first part must receive all meetings of company of my own server (This i have achieved), and the second part i must notify one day before each meeting, but with local notifications.

How schedule local notifications at given date?

Answer

Ajit Singh picture Ajit Singh · Aug 11, 2015

To schedule local notification you need to know some of the things which are used to schedule the notification like

BroadcastReceivers IntentFilters AlarmManager NotificationService PendingIntent

In MainActivity do the following

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

        Intent notificationIntent = new Intent("android.media.action.DISPLAY_NOTIFICATION");
        notificationIntent.addCategory("android.intent.category.DEFAULT");

        PendingIntent broadcast = PendingIntent.getBroadcast(this, 100, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);

        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.SECOND, 15);
        alarmManager.setExact(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), broadcast);
    }

The above code will schedule an alarm after 15 seconds. After 15 seconds it will broadcast the notificationIntent.

The action specified in the Intent constructor is defined in the AndroidManifest.xml

To understand the full working of local notification and to see a sample notification code check out this article - http://www.singhajit.com/schedule-local-notification-in-android/