问题标签 [alarmmanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4394 浏览

android - 使用 AlarmManager 手动更新小部件

如 Android 开发指南中所述,如果您希望小部件更频繁地更新,您应该使用AlarmManager设置不唤醒设备的警报。

原则上:不要使用AppWidgetProvider类提供的标准机制,并且可以通过 xml 文件中的 android:updatePeriodMillis 轻松设置。

我很抱歉地问,但指南只是说“使用 AlarmManager,使用RTCELAPSED_REALTIME,......”但我到底如何发送一个意图来更新我的小部件丢失了!!!

有人可以说明我需要形成PendingIntent模仿默认行为的代码吗?我不知道如何获取小部件 ID,我应该使用哪个操作等等......遗憾的是,开发指南此时停止解释!需要什么作为哪个动作的额外内容?

如果有人对我为什么要更频繁地更新超过 30 分钟感兴趣:我的小部件会显示下一辆公共汽车何时从车站出发。每 20 分钟有一班车,所以我有两个选择:每分钟更新一次小部件,显示下一班车的发车时间(这就是我想要的!!),或者,不太好,说明下一班车的发车时间所以我必须至少每20分钟更新一次!

现在:当设备处于睡眠状态时,当然,这不应该唤醒它——所以我对开发指南中这一部分的理解是,这是实现它的正确方法;有人认为我错了吗?哦,我想知道的另一件事:如果设备在应该更新小部件时处于睡眠状态,并且由于设备处于睡眠状态而没有发出警报,它会在唤醒时立即更新吗???

谢谢你的帮助!!

PS:我真的很想知道为什么小部件提供程序的 xml 定义不允许通过布尔开关简单地声明“不要唤醒设备”......这首先会让生活变得更加轻松!无论如何需要什么样的小部件来唤醒设备???;-)

这是我到现在为止的距离,但它不起作用 - 没有任何反应:

0 投票
1 回答
764 浏览

android - 如何检查系统上的 AlarmManager 中定义的所有警报?

我怀疑我的 Android 系统上的某些应用程序使用 AlarmManager 的方式过于激进(例如,精确重复,而不是不精确重复等)。有没有办法检查系统上的 AlarmManager 中设置的所有警报?

0 投票
1 回答
1009 浏览

android - android:AlarmManager和Activity生命周期

我决定编写简单的闹钟(使用 AlarmManager)。当闹钟响起时,我想显示带有 2 个按钮的简单对话框:确定和贪睡。所以我有一个问题:我应该将什么与我的待定意图联系起来?我的意思是服务、活动还是广播接收器?目前的版本我使用 BroadcastReceiver 来启动显示对话框的 Activity。我从标志 FLAG_ACTIVITY_NEW_TASK 开始。在 onStrat() 方法中,我启动音乐服务。当按下 OK 按钮时,我调用 finish() 进行活动并停止音乐。在 OnPause() 中,我也调用了 finish()。我这样做是因为如果两个警报同时运行,那么根据活动生命周期方法 onPause() 将被调用。它可以工作......但有时音乐开始几秒钟然后结束......然后重新开始并结束,依此类推。为什么?谢谢。

0 投票
2 回答
3897 浏览

android - 使用警报管理器启动服务

我有一些我想在每天凌晨 3:00 执行的代码。我已经阅读了服务类文档,看来我可以使用 AlarmManager 来触发一个意图(我认为是活动还是服务?),然后在该意图中创建并在 Android 通知区域中发布一条消息。

它通过代码运行没有问题,但没有迹象表明已设置警报,并且活动没有开始。我正在使用我知道有效的活动。我尝试将其包装在 try/catch 中,logcat 中没有任何内容...

0 投票
2 回答
4257 浏览

android - 澄清 Android 中的 AlarmManager 行为

我看到所有的 AlarmManager 示例都是由 Activity 设置的。

我的问题是:如果我的应用程序设置了一个重复的 AlarmManager,即使在启动的应用程序关闭并从内存中删除后,这种情况是否仍然存在?

如果没有,我如何在启动时由Android启动的较低级别启动AlarmManager,如果它失败或死亡或抛出异常,则无需用户执行任何操作即可重新启动?

最后,如果我希望 BroadcastReceiver 执行的操作没有可视化组件,我还需要为它创建一个单独的 Activity 吗?就我而言,我希望有一个后台上传器唤醒并查看文件夹,如果它看到该文件夹​​中的文件,则将它们发送到服务器。我不需要任何反馈给用户。

所以,我的理想是拥有一个神奇的、基于操作系统的 AlarmManager,它调用一个只处理上传的 IntentService,但我不清楚如何让这样的 AlarmManager 首先运行。

TIA

0 投票
1 回答
305 浏览

android - 如何通过alarmManager 中的意图调用我的类中的本地方法?

例如:

Public class Calls extends Service {
public void onCreate()
{
//在这里通过 alarmManager 调用 myMethod
}

我的方法()
{

}
}

0 投票
2 回答
3323 浏览

android - android 设备的 sleep 的定义是什么?

我在用着

安排仅应在设备未休眠时执行的重复任务。据我了解 AlarmManager 上的API,一旦设备从睡眠中唤醒,就会调用意图。

现在安卓设备什么时候睡着了?为了进行测试,我将持续时间设置为两分钟并将设备连接到我的机器。现在我正在看 logcat,每两分钟它就会吐出我的调试消息。

我一直认为停用的屏幕意味着设备开始休眠。还是我正在查看调试输出以防止设备进入睡眠状态?我还断开了 USB 连接并在半小时后查看了日志,即使显示屏变暗超过 15 分钟,我也可以看到对我的计时器代码的调用。

如何验证命令不再执行的时间以及 AlarmManager 文档中的 sleep 指的是什么?当设备开始睡眠时,有没有办法从 logcat 输出中看到?

0 投票
1 回答
2002 浏览

android - 我有哪些选项可以检查 IntentService 是否已在运行?

我有一个 AlarmService,它每 15 分钟唤醒一次并触发一个 IntentService。但是,我想确保如果以前启动的 IS 已经在运行,AlarmService 不会尝试启动另一个(IS 正在处理文件,如果第二个版本试图对相同的文件采取行动)。

轮询系统以查看我的 IS 实例是否已在运行并跳过 AlarmService cron 的当前迭代的最佳方法是什么?

0 投票
1 回答
268 浏览

android - 我如何使对我的 alarmManager 的每次调用都是唯一的?

我在安排闹钟时遇到问题。我想让我的闹钟的每次调用都独一无二,这样它就不会与我已经设置的上一个闹钟重叠。这是我的代码:

// 我在这段代码中多次调用 callsAlarm。当我在这里设置 callsAlarm 时,它只设置最新的。我如何让这里的每一套都独一无二?

0 投票
1 回答
1135 浏览

android - Android 闹钟:setRepeating vs set & reschedule

我正在创建一个应用程序,该应用程序每天都会提醒用户 X 次,每天。我想知道创建是否更好:

  • setRepeating以 24 小时为间隔的多个警报
  • 一个setRepeating间隔 1 小时 [或半小时] 的警报,并决定是提醒还是返回
  • 一个set警报在运行时设置“下一个”警报
  • 或者其他我没有想到的东西......

更具体地说,通过使用一种方法而不是另一种方法,我可以获得什么?