好的,所以我做了一些研究,共识似乎是您无法以编程方式更新android:updatePeriodMillis

似乎您必须使用AlarmManager代替,这似乎就像使用sledghammer来破解螺母一样……API不仅让您更新了核心updatePeriodMillis,这很奇怪。

依赖于Web上的内容总会有轻微的风险,因为API趋于发展并且旧的答案已不再相关。

所以我只是检查情况是否仍然如此。例如,http://developer.android.com/guide/topics/appwidgets/index.html处的指南至少暗示可以更改AppWidgetProvider的更新周期。讨论updatePeriodMillis时说:


  “您可能还允许用户调整配置中的频率-有些人可能希望股票报价器每15分钟更新一次,或者一天仅更新4次。”


然后继续讨论使用AlarmManager,但显然仅与避免唤醒设备有关,而不是与更改更新时间有关。

感谢您对此的任何帮助。

最佳答案

所以我只是检查情况是否仍然如此。


是的,仍然无法更新updatePeriodMillis。太糟糕了,因为我很想看看updateUpdatePeriodMillis()方法。特别是如果这是通过某种生成器或事务对象完成的,则意味着也可以通过updateUpdateUpdatePeriodMillis()方法对其进行更改。

:-)


  看来您必须改用AlarmManager


您也可以在Android 5.0+上使用JobScheduler,尽管我怀疑您也不太喜欢。

您还可以允许用户配置updatePeriodMillis的多个倍数,然后仅每N次更新就完成一次工作,尽管这样做效率不高。

或者,您根本无法定期更新应用程序小部件,而只能根据需要根据应用程序功能而不是时间进行更新。恕我直言,这是大多数应用程序应该做的。

关于android - 以编程方式更改android:updatePeriodMillis,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28072947/

10-10 20:06