Как создать напоминание

Я ссылался на многие сайты, но все же я не могу создать уведомление (напоминание или тревогу) Я не знаю, как создавать и работать с ним. Он должен уведомлять/напоминать пользователю о задаче, а также предоставлять ежедневные советы пользователю. Я буду рад помочь вам в этом и как его кодировать...

С уважением:) Спасибо за вашу помощь заранее.

Ответ 1

Вам нужны две вещи:

  • AlarmManager: планировать свое уведомление на регулярной основе (ежедневно, еженедельно,..).
  • Сервис: запуск вашего уведомления при отключении AlarmManager.

Вот пример:

В вашей деятельности:

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);

Это вызовет будильник каждый день в полночь (12 часов утра). Вы можете изменить это, если хотите.

Теперь создайте Сервис NotifyService и поместите этот код в свой 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);
}

И этот код покажет уведомление при получении Тревоги.

Удачи!

Ответ 2

здесь немного YouTube Video Tutorial о ежедневных оповещениях. Вы можете найти исходный код в описании.

Это видео сделано не мной. Но я думаю, что это быстрая помощь. Хотя я рекомендую некоторые изменения, потому что Notification.Builder устарел:

1.

import android.support.v4.app.NotificationCompat;

2.

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

Удачи!