首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android alarmmanager重置

android alarmmanager重置
EN

Stack Overflow用户
提问于 2013-03-09 02:46:47
回答 2查看 1.1K关注 0票数 0

我的应用程序使用下面的代码来设置Alaram在"Daily“的基础上执行服务。

代码语言:javascript
复制
AlarmManager alarmManager = (AlarmManager) ctx.getSystemService(Context.ALARM_SERVICE);
        Intent i = new Intent(ctx, SchedulerEventReceiver.class); // explicit// intent

        Calendar now = Calendar.getInstance();
        now.add(Calendar.SECOND, 20);
        PendingIntent intentExecuted = PendingIntent.getBroadcast(ctx, new Random().nextInt(), i,PendingIntent.FLAG_CANCEL_CURRENT);
        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, now.getTimeInMillis(), AlarmManager.INTERVAL_DAY, intentExecuted);

adb shell dumpsys alarm向我显示了适当的细节。就像它计划每天运行一样。然而,当我在我的手机上安装.apk时,它会重复执行。它不需要等待一天就能执行。

我不知道如何重置我手机里的闹钟设置。我卸载了应用程序,并重新安装了应用程序,但它不起作用。有人能告诉我出了什么问题吗?

EN

回答 2

Stack Overflow用户

发布于 2013-03-09 03:06:08

我已经用过了,这对我来说工作得很好。我用这个闹钟在18天后触发。然后在18天之后再来一次:

代码语言:javascript
复制
long time = 1555200000L; //18 days = 18*24*60*60*1000 = 1555200000L
AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, MyReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(context, tag, i, PendingIntent.FLAG_CANCEL_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+time, time, pi); 
票数 1
EN

Stack Overflow用户

发布于 2013-03-09 02:55:09

现在,你告诉它在一分钟后20秒

代码语言:javascript
复制
now.add(Calendar.SECOND, 20);

您需要添加一天中的小时和可能的分钟

代码语言:javascript
复制
 now.add(Calendar.HOUR, 12) //set your hour here. noon right now

代码语言:javascript
复制
now.add(Calendar.HOUR_OF_DAY, 12)

Calendar

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15301107

复制
相关文章

相似问题

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