android - 如何在偏好更改时重新安排警报管理器

标签 android service preferences alarmmanager

我有一个 Android 服务。当手机启动时,广播接收器会收到通知,并安排服务每隔 X 分钟重复运行一次。从今以后,每隔 X 分钟,另一个广播接收器就会收到这些通知并启动服务,完成工作并退出。到目前为止一切顺利。

现在我希望这 X 分钟是可配置的。我有一个 perf.xml 类似于下面链接中给出的内容。此 XML 捕获了我的所有偏好以及服务计时器的偏好。 http://android-journey.blogspot.com/2010/01/for-almost-any-application-we-need-to.html

现在当用户改变偏好时;我怎样才能重新安排闹钟?有没有一种方法可以设置监听器的首选项更改?我只使用 XML 文件来指定首选项屏幕。

欢迎提出任何想法。

干杯

最佳答案

有 OnPreferenceChangeListener 只是设置它并实现它。我记得你把它设置为首选项。所以你需要得到这个偏好 findPreference("myAlarmInterval");然后设置监听器

如果您的服务不使用相同的首选项,这将起作用。根据the developer docs它会在什么时候被调用 - 已被用户更改 - 即将被设置和/或持久化。

因此,新首选项的值尚不可用于您的服务。

关于android - 如何在偏好更改时重新安排警报管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2906618/

相关文章:

service - Apache Felix 中的 @Service 注解是什么?

c# - 如何在启用 COM 互操作的 DLL 中引用 WCF 服务?

wolfram-mathematica - 使 Mathematica 的全局选项保持不变

使用 Preferences.getString 时出现 Android ClassCastException

java - 在android中读取xml的最佳方式是什么?

java - 更新循环中按钮 onClickListener 中的数组元素 - android

java - 安卓 P : Service behavior changes

cookies - 如何在网络应用程序中存储用户偏好?

android - 我可以在 android 约束布局中使用多少条准则?

android - Android 回历(伊斯兰)日历的日期选择器?