首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >告警广播类不再重复告警

告警广播类不再重复告警
EN

Stack Overflow用户
提问于 2012-11-01 17:30:35
回答 1查看 155关注 0票数 1

请指导我,以便警报(邮件发送)将再次编译,并在事件发生的1天前向我提供邮件,然后在事件发生的30分钟前提供邮件。

提前谢谢。

代码语言:javascript
复制
public class MailAlarm extends BroadcastReceiver{

    NotificationManager nm;

    public void onReceive(Context context, Intent intent) {

        nm = (NotificationManager) context
                .getSystemService(Context.NOTIFICATION_SERVICE);

        //int iUniqueId = (int) (System.currentTimeMillis() & 0xfffffff);

        String event = Mail_Fill_Details.Discripton;
        String name = Mail_Fill_Details.Person_Name;
        String mail =Mail_Fill_Details.mailString;
        try {   
            GMailSender sender = new GMailSender("taskschedulerfable@gmail.com", "xyz");
            sender.sendMail("Reminder of "+event+" ("+name+")" ,   
                    "REMINDER!! REMINDER!! REMINDER!! \n\n\nYou got a reminder about "+event+"("+name+") after 5 minutes\n\n\n",   
                    "taskschedulerfable@gmail.com",   
                    mail);   
        } catch (Exception e) {   
            Log.e("SendMail", e.getMessage(), e);   
        }

Rest代码在这里...

代码语言:javascript
复制
Intent intent = new Intent(Mail_Fill_Details.this,
                                MailAlarm.class);
                        Bundle b12 = new Bundle();

                        b12.putString("serverresponse", Discripton);
                        b12.putString("serverresponse1", Person_Name);
                        b12.putString("serverresponce2", mailString);

                        intent.setAction("" + Math.random());
                        intent.putExtras(b12);
                        PendingIntent displayIntent = PendingIntent
                                .getBroadcast(Mail_Fill_Details.this,
                                        iUniqueId, intent,
                                        PendingIntent.FLAG_UPDATE_CURRENT);
                        alarmManager.set(AlarmManager.RTC_WAKEUP,
                                calendar.getTimeInMillis() - 300000,
                                displayIntent);
                        // alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
                        // calendar.getTimeInMillis(), 20, displayIntent);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-01 19:21:01

我认为你应该使用AlarmManagersetRepeating方法而不是set方法。

代码语言:javascript
复制
am.setRepeating(type, triggerAtMillis, intervalMillis, operation);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13174222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档