问题标签 [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.
java - Android:如何使用警报管理器
我需要在设置后 20 分钟后触发一段代码AlarmManager
。
AlarmManager
有人可以向我展示如何在 ِAndroid中使用的示例代码吗?
几天来我一直在玩一些代码,但它不起作用。
android - Android - AppWidgets、AlarmManager 和 AsyncTask
我在使用AlarmManager
生成的广播更新应用小部件时运气不佳。这就是我所做的:
初始化AlarmManager
_AppWidgetProvider#onEnabled
我还定义了广播接收器,它只监听由AlarmManager
. 当更新被触发时,代码运行AsyncTask
进行网络调用。当AsyncTask
完成 ( onPostExecute
) 时,它使用先前获得的实例AppWidgetManager
来更新小部件。这一切实际上运行良好,直到在日志中我看到消息"Process com.foo.myapp (pid 12345) has died"
,之后AlarmManager
再也不会触发另一个更新。
我是否需要进行某种检查以重新启动警报?例如,当用户访问小部件的父应用程序时?如果我的应用在请求过程中死机,如何确保我可以完成长时间运行的任务并返回到小部件?
android - Android - AlarmManager 恢复
感谢TasKiller
我有可靠的方法来关闭来自我AppWidget
的更新AlarmManager
!
现在,撇开讽刺,我如何从这样的事件中恢复过来?到目前为止,我只看到Alerts
只有在重新启动手机后才会复活。
我可以将恢复代码粘贴到几个地方,例如Activity#onCreate
属于我的应用程序和小部件的各种地方,但有没有更好的方法?
此外,如果警报正常怎么办 - 有没有办法检测到它而不运行AlarmManager#setRepeating
?
还是多次运行它有什么害处?
android - 在 Android 中安排通知
我需要能够在未来的不同时间安排多个通知。
我尝试使用 AlarmManager 执行此操作,但这不合适,原因如下。来自 AlarmManager.set():“如果已经为这个 Intent 调度了一个警报(两个 Intent 的相等性由 filterEquals(Intent) 定义),那么它将被删除并替换为这个。”
猜猜看,除了不同的 Extra 之外,发送意图是相同的(但那些不计入 filterEquals)。
那么如何安排多个通知,当我的应用程序被杀死时仍然会显示(我尝试 AlarmManager 的全部原因)?
谢谢。
android - AlarmManager.setRepeating 是幂等的吗?
在我的 android 应用程序中,我设置了一个我想要重复发生的警报,因此使用 AlarmManager.setRepeating()。
我不想跟踪自己是否设置了警报(听起来像是一个坏主意,在某些时候很容易失败),并且似乎没有 API 支持检查是否已经为给定设置了特定警报意图。
因此,每次我的应用程序激活时,我都会悲观地重置警报:
问题:调用 setRepeating() 是否是幂等的,即我是否需要显式取消任何先前的警报,或者我可以安全地调用 setRepeating() 并完成它?
android - 为什么当应用程序被杀死时,AlarmManager 广播会被取消?
好的,所以我注册了两个 BroadcastReceiver。当应用程序关闭时,它们都会在适当的时间触发并做适当的事情。
如果应用程序被关闭然后被杀死(比如使用 AppKiller),接收者永远不会收到他们的广播,并且什么也没有发生。
如果父应用程序由于内存不足而被杀死,大概会发生同样的事情,那么我如何确保这些广播被触发/接收。API 指出,即使应用程序被杀死,它也应该触发,还有其他人有这种情况的经验吗?
如果它有助于我的清单是:
并且在 AlarmManager/BroadcastReceivers 中没有发生任何深奥的事情
android - Intent.putExtras 不一致
我对 AlarmManager 有一个奇怪的情况。我正在使用 AlarmManager 安排一个事件,并使用 intent.putExtra 传入一个字符串。琴弦是静音或振动,当接收器启动时,电话应打开振铃器或将电话设置为振动。日志语句每次都正确输出期望值。
警报执行时触发的接收器也有一个日志语句,我可以第一次看到该语句输出预期的字符串 SILENT 或 VIBRATE 但对于每个后续执行,输出显示接收器端的原始值。警报执行,然后我将 putExtra 的值更改为相反的字符串,尽管来自上面代码的调用显示传入了新值,但接收器仍显示先前的值事件。 setAction 的值每次都是相同的。
有什么想法吗?
android - 如何在首选项更改时重新安排警报管理器
我有一个 Android 服务。当手机启动时,广播接收器会收到通知,并安排服务以 X 分钟的间隔重复运行。从此以后,每隔 X 分钟,另一个广播接收器会收到这些通知并启动服务,这完成了它的工作并退出。到目前为止,一切都很好。
现在我希望那些 X 分钟是可配置的。我有一个类似于下面链接中给出的 perf.xml。这个 XML 捕获了我的所有偏好以及服务计时器的偏好。 http://android-journey.blogspot.com/2010/01/for-almost-any-application-we-need-to.html
现在当用户改变偏好时;如何重新安排闹钟?有没有办法可以在偏好更改时设置监听器?我只使用 XML 文件来指定首选项屏幕。
欢迎任何想法。
干杯
android - 如何设置每天发出的杀戮安全警报?
我知道如何设置警报以重复触发,但是在我的应用程序被杀死后警报停止触发。
如何确保警报在设置时继续触发?
android - Android - 每天凌晨 4 点运行服务
我想知道每天凌晨 4 点运行服务的最佳实践。
我认为我应该这样做的方式是使用 AlarmManager 创建一个新的重复警报,并让它在凌晨 4 点运行服务。问题是,我不确定将代码放在哪里来设置警报。
我是否在我的主要活动中将其作为 OnCreate 方法中的首要任务之一?我是否使用广播接收器和意图做一些时髦的事情?当用户更新我的应用程序时会发生什么?当用户重新启动时会发生什么?
对于这些问题的任何帮助将不胜感激:) 示例代码也会有所帮助!
巴拉