如果用户不在主屏幕,是否可以更新Android小部件的RemoteView?

时间:2012-09-06 12:18:47

标签: android widget

我正在开发Android电池小工具。我正在使用流行的GeekYouUp电池小部件源,一切都很好,虽然我注意到即使使用原始源也会出现一个问题。如果用户正在运行任何应用程序并且窗口小部件接收到广播,则更新确实发生并正确读取状态,但窗口小部件的RemoteViews根本不会更新。因此,当用户完成应用程序并返回主屏幕时,窗口小部件将继续显示旧电池状态(启动应用程序之前的状态)。 我尝试创建一个简单的小部件,每隔几秒更新一些RemoteView,并且情况相同 - 只要用户没有运行任何应用程序,一切都有效。否则,RemoteViews不会更新。

那么,是否有可能在应用程序运行时继续在主屏幕上更新RemoteViews,或者系统当时是否只是忽略它们?

提前致谢!

1 个答案:

答案 0 :(得分:0)

实际上,小部件有点独立于应用程序。它会自动更新(使用 updatePeriodMillis ):

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="294dp" android:minHeight="72dp"
    android:updatePeriodMillis="86400000" android:initialLayout="your layout" />