web-dev-qa-db-ja.com

リマインダー通知を作成する方法

多くのサイトを参照しましたが、それでも通知を作成することができません(リマインダーまたはアラーム)作成方法と操作方法が正確にわかりません。タスクについてユーザーに通知/通知し、ユーザーに毎日のヒントを提供することもできます。そうすることと、それをコード化する方法についても、私は喜んでお手伝いします...

よろしくお願いします:)事前にあなたの助けをありがとう。

15
Rushabh

次の2つが必要です。

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

これにより、アラーム毎日午前0時(午前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);
}
_

そして、このコードは、アラームが受信されたときに通知を表示します。

幸運を!

39
iTurki

ここに少し YouTubeビデオチュートリアル 毎日の通知についてです。ソースコードは説明にあります。

このビデオは私が作ったものではありません。しかし、私はそれがすぐに役立つと思います。 Notification.Builderは非推奨であるため、いくつかの変更をお勧めしますが、

1。

import Android.support.v4.app.NotificationCompat;

2。

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

楽しんで!

4
Wicked161089