我的应用程序使用下面的代码来设置Alaram在"Daily“的基础上执行服务。
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时,它会重复执行。它不需要等待一天就能执行。
我不知道如何重置我手机里的闹钟设置。我卸载了应用程序,并重新安装了应用程序,但它不起作用。有人能告诉我出了什么问题吗?
发布于 2013-03-09 03:06:08
我已经用过了,这对我来说工作得很好。我用这个闹钟在18天后触发。然后在18天之后再来一次:
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); 发布于 2013-03-09 02:55:09
现在,你告诉它在一分钟后20秒
now.add(Calendar.SECOND, 20);您需要添加一天中的小时和可能的分钟
now.add(Calendar.HOUR, 12) //set your hour here. noon right now或
now.add(Calendar.HOUR_OF_DAY, 12)Calendar
https://stackoverflow.com/questions/15301107
复制相似问题