20

多くのサイトを紹介しましたが、通知(リマインダーまたはアラーム)を作成できません。作成方法と操作方法が正確にわかりません。タスクについてユーザーに通知/通知し、ユーザーに毎日のヒントを提供することです。そうすることと、それをコーディングする方法についても、あなたの助けを借りて喜んでいます...

よろしく:)よろしくお願いします。

4

2 に答える 2

45

あなたは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);
}

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

幸運を!

于 2012-08-31T02:50:26.163 に答える
5

これは、毎日の通知に関するYouTubeビデオチュートリアルです。説明にソースコードがあります。

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

1.1。

import android.support.v4.app.NotificationCompat;

2.2。

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

楽しんで!

于 2014-07-18T19:43:27.227 に答える