How to Create a Reminder Notification

后端 未结 2 1099
渐次进展
渐次进展 2020-12-23 10:52

I have referred many sites but still I am not able to create the notification(reminder or alarm) I don\'t know exactly how to create and work with it. Its to notify/remind u

相关标签:
2条回答
  • 2020-12-23 11:01

    here is a little YouTube Video Tutorial about daily notifications. You can find the source code in the description.

    This video is not made by myself. But I think its a quick help. Although i recommend some changes because the Notification.Builder is deprecated:

    1.

    import android.support.v4.app.NotificationCompat;
    

    2.

    // Change: Notification mNotify = new Notification.Builder(this) to
    Notification mNotify = new NotificationCompat.Builder(this)
    

    Have Fun!

    0 讨论(0)
  • 2020-12-23 11:04

    You need two things:

    • AlarmManager: to schedule your notification at a regular bases (daily, weekly,..).
    • Service: to launch your notification when the AlarmManager goes off.

    Here is a basic example:

    In your Activity:

    Intent myIntent = new Intent(this , NotifyService.class);     
    AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
    PendingIntent pendingIntent = PendingIntent.getService(this, 0, myIntent, 0);
    
    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.SECOND, 0);
    calendar.set(Calendar.MINUTE, 0);
    calendar.set(Calendar.HOUR, 0);
    calendar.set(Calendar.AM_PM, Calendar.AM);
    calendar.add(Calendar.DAY_OF_MONTH, 1);
    
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000*60*60*24 , pendingIntent);
    

    This will trigger Alarm each day at midnight (12 am). You can change that if you want.

    Now, create a Service NotifyService and put this code in its onCreate():

    @Override
    public void onCreate() {
        NotificationManager mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
        Notification notification = new Notification(R.drawable.notification_icon, "Notify Alarm strart", System.currentTimeMillis());
        Intent myIntent = new Intent(this , MyActivity.class);     
        PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0);
        notification.setLatestEventInfo(this, "Notify label", "Notify text", contentIntent);
        mNM.notify(NOTIFICATION, notification);
    }
    

    And this code will show the notification when the Alarm is received.

    Good Luck!

    0 讨论(0)
提交回复
热议问题