20

我已经推荐了很多网站,但我仍然无法创建通知(提醒或警报)我不知道如何创建和使用它。它通知/提醒用户有关任务,并为用户提供每日提示。我很高兴得到您的帮助以及如何对其进行编码......

问候:) 提前感谢您的帮助。

4

2 回答 2

45

你需要两件事:

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

此代码将在收到警报时显示通知。

祝你好运!

于 2012-08-31T02:50:26.163 回答
5

这是一个关于每日通知的小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)

玩得开心!

于 2014-07-18T19:43:27.227 回答