Tag: alarmmanager

如何使用android闹钟pipe理器设置多个闹钟

我正在build立一个报警应用程序。我已经成功实现了基本的报警function。 Calendar calendar = Calendar.getInstance(); calendar.set(calendar.HOUR_OF_DAY, sHour); calendar.set(calendar.MINUTE, sMin); calendar.set(calendar.SECOND, 0); calendar.set(calendar.MILLISECOND, 0); long sdl = calendar.getTimeInMillis(); Intent intent = new Intent(AlarmList.this, AlarmReceiver.class); PendingIntent sender = PendingIntent.getBroadcast(AlarmList.this, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT); AlarmManager ALARM1 = (AlarmManager)getSystemService(ALARM_SERVICE); ALARM1.set(AlarmManager.RTC_WAKEUP, sdl, sender); 在我的应用程序中,用户可以select星期几(星期日,星期一…)每周重复报警。 我试图创build多个警报,每周重复,但不知道如何去做。 我可以使用(重复)间隔创build它,还是应创build多个警报pipe理器?

Android AlarmManager – RTC_WAKEUP vs ELAPSED_REALTIME_WAKEUP

有人可以向我解释AlarmManager.RTC_WAKEUP和AlarmManager.ELAPSED_REALTIME_WAKEUP之间的区别吗? 我已经阅读了文档,但仍然没有真正理解使用其中一个的含义。 示例代码: alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, scheduledAlarmTime, pendingIntent); alarmManager.set(AlarmManager.RTC_WAKEUP, scheduledAlarmTime, pendingIntent); 这两行代码的执行有何不同? 这两行代码何时相互执行? 我感谢您的帮助。

AlarmManager在错误的时间发出警报

我pipe理所有的东西都可以创build一个通知服务,用于通过报警触发通知。 不幸的是,使用AlarmManager设置闹钟是行不通的。 它几分钟后才会启动(不完全是小时,这表示时区问题)。 重复周期为1周,所以我使用了常量INTERVAL_DAY并将其与7相乘。为了确保一个PendingIntent不会replace另一个PendingIntent,我将dayOfWeek作为第二个parameter passing给PendingIntent.getService()。 我通过logging来检查闹钟的正确性: Log.d(TAG, "next alarm " + df.format(cal.getTime())); 是否真的没有办法列出所有的警报设置 – 至less从我自己的应用程序? 我相信这是追踪错误的唯一方法。 我的代码: cal.setTimeInMillis(System.currentTimeMillis()); cal.add(Calendar.DATE, 1); cal.set(Calendar.HOUR_OF_DAY, hour); cal.set(Calendar.MINUTE, minute); Log.d(TAG, "next alarm " + df.format(cal.getTime())); Intent showNotificationIntent = new Intent(context, NotificationService.class); dayOfWeek = cal.get(Calendar.DAY_OF_WEEK); alarmIntent = PendingIntent.getService(context, dayOfWeek, showNotificationIntent, 0); getAlarmManager(context).setInexactRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), INTERVAL_WEEK, alarmIntent); 我想提供每天有一个警报,但在不同的时间,这可以由用户设置。 所以我使用了最多7个闹钟,每周应该开启。 即使在阅读了类似问题的许多答案(我不打算创build一个重复的问题)之后,我还没有设法find问题。

使用Alarmmanager在特定时间启动服务

我已经search了很多地方,但无法find一个干净的顺序解释如何启动一个服务(或如果这是不可能的,然后一个活动)在每天的特定时间使用AlarmManager? 我想注册几个这样的警报,并触发它们应导致服务启动。 我会在服务中有一小段代码,然后可以执行,我可以完成良好的服务…. Calendar cal = Calendar.getInstance(); Calendar cur_cal = Calendar.getInstance(); cur_cal.setTimeInMillis(System.currentTimeMillis()); Date date = new Date(cur_cal.get(Calendar.YEAR), cur_cal.get(Calendar.MONTH), cur_cal.get(Calendar.DATE), 16, 45); cal.setTime(date); Intent intent = new Intent(ProfileList.this, ActivateOnTime.class); intent.putExtra("profile_id", 2); PendingIntent pintent = PendingIntent.getService(ProfileList.this, 0, intent, 0); AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE); alarm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pintent); System.out.println("The alarm set!!"); 我试过这个代码来激活在4.45的报警…但它没有发射服务…我必须保持过程运行? 我做错了什么? 还有一件事,我的服务得到完美的执行情况下,我使用下面的代码: long firstTime = SystemClock.elapsedRealtime(); alarm.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, […]

Android:保持后台服务(防止进程死亡)

我有一个服务被定义为: public class SleepAccelerometerService extends Service implements SensorEventListener 从本质上讲,我正在制作一个应用程序,用于监视加速度计活动的各种原因,而用户睡觉时,他/她的手机/设备在床上。 这是一个长期运行的服务,不能在夜间被杀害。 根据在夜间发生多less背景应用程序和周期性进程,android有时会杀死我的进程,从而结束我的服务。 例: 10-04 03:27:41.673: INFO/ActivityManager(1269): Process com.androsz.electricsleep (pid 16223) has died. 10-04 03:27:41.681: INFO/WindowManager(1269): WIN DEATH: Window{45509f98 com.androsz.electricsleep/com.androsz.electricsleep.ui.SleepActivity paused=false} 我不想强迫用户在我的应用程序中将“SleepActivity”或其他一些活动作为前景。 我不能让我的服务定期运行,因为它不断拦截onSensorChanged。 任何提示? 源代码在这里: http : //code.google.com/p/electricsleep/

如果闹钟时间已经过去,android可以防止即时触发闹钟服务

报警pipe理器的参考说 如果所述的触发时间在过去,则会立即触发警报。 我在申请中遇到了这个问题。 这是我的报警pipe理员代码: Intent myIntent = new Intent(getActivity(), DinnerAlarmReceiver.class); pendingDinnerIntent = PendingIntent.getBroadcast(getActivity(), 0, myIntent, 0); Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, hourOfDay); calendar.set(Calendar.MINUTE, minute); alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingDinnerIntent); 有没有解决这个问题的方法? – – -编辑 – – – 我已经写了一些代码来估计闹钟的设置时间是否在当前时间之前。 以上是具有相应变化的部分: Calendar calendar = Calendar.getInstance(); long currentTime = calendar.getTimeInMillis(); calendar.set(Calendar.HOUR_OF_DAY, hourOfDay); calendar.set(Calendar.MINUTE, minute); long setTime = calendar.getTimeInMillis(); Timestamp setTimestamp = […]

如何检查AlarmManager是否已经设置了闹钟?

当我的应用程序启动时,我想要检查一个特定的报警(通过AlarmManager注册)是否已经设置并正在运行。 谷歌的结果似乎表明,没有办法做到这一点。 这是否正确? 我需要做这个检查,以便在采取任何行动来创build一个新的警报之前build议用户。

Android:如何使用AlarmManager

我需要在设置AlarmManager 20分钟后触发一段代码。 有人可以告诉我关于如何在Android中使用AlarmManager示例代码? 我一直在玩一些代码几天,这是行不通的。

警报pipe理器示例

我想在我的项目中实现计划function。 所以我用Googlesearch闹钟pipe理器程序,但是我找不到任何例子。 任何人都可以帮助我一个基本的报警pipe理程序?