2012-02-09 42 views
1

我对android appwidget的onUpdate函数有一个问题:我每天用这个函数更新appwidget一次。在此之前,我使用TimerTask类来更新小部件,但Android有时会关闭TimerTask和我的小部件停止更新。如果我使用onUpdate函数,oS将像以前一样执行,否则它将工作正常?Android appwidget onUpdate()

这是提供更新的xml:

<?xml version="1.0" encoding="utf-8" ?> 
<appwidget-provider 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:minWidth="262dp" 
android:minHeight="244dp" 
android:updatePeriodMillis="86400000" 
android:initialLayout="@layout/main"/> 

回答

0

如果你的问题是:“将Android叫我小部件的的onUpdate()方法,每86400000个米莉?”那么答案是“是的,它会的”。并且它会为您的小部件的每个实例单独执行(您是如何在您的服务中管理小部件ID的?)。

1

在这种情况下,您的设备将唤醒并更新小部件。这是写在文档中。

如果设备处于睡眠状态时,它是时间的更新(由updatePeriodMillis定义),则该设备将依次执行更新醒来。

但是以我的观点来看,最好使用AlarmManager并使用标志来控制AppWidgets的行为。