安卓AlarmManager推送通知

5

我正在使用这个通知代码:

package com.example.mega;

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;


public class TimeAlarm extends BroadcastReceiver {

     NotificationManager nm;

     @Override
     public void onReceive(Context context, Intent intent) {
         nm = (NotificationManager) context
             .getSystemService(Context.NOTIFICATION_SERVICE);
         CharSequence from = "Tech";
         CharSequence message = "Check out our NEW COLLECTION !!";
         PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
             new Intent(), 0);
         Notification notif = new Notification(R.drawable.icon,
             "Check out our NEW COLLECTION !!" , System.currentTimeMillis());
         notif.setLatestEventInfo(context, from, message, contentIntent);
         nm.notify(1, notif);
    }
}

正如您所看到的,由于我没有使用过AlarmManager,而且我是Android的新手,所以我还没有添加AlarmManager。我需要在代码中添加什么才能每24小时显示一次通知?

1个回答

4
Calendar calendar = Calendar.getInstance();
// 8.00 (8 AM) 
calendar.set(Calendar.HOUR_OF_DAY, 8);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);

PendingIntent pi = PendingIntent.getService(context, 0 , new Intent(context, Your_Class.class),PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
                            AlarmManager.INTERVAL_DAY, pi);

这会在每天早上8点设置一个闹钟。

或者您可以使用https://github.com/commonsguy/cwac-wakeful。请查看链接上的文档。

请参考以下内容:每24小时和准确时间8点触发通知

以及这个:用户选择时间的通知


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接