可能是一个新手问题。我尝试过使用 android AppWidgetProvider onUpdate 方法并使用“睡眠”来引起一点延迟。
使用循环重复更新 - 事情是这样的:循环计数器设置为 20,睡眠时间为 1 秒 - 循环只执行 10 次 - 900 毫秒每秒延迟增加循环到 12,延迟 500 毫秒获得完整循环计数 20。这是如何解释的?
请参阅下面的 AppWidgetProvide 代码。该小部件仅包含一个文本视图。
public class SimpleWidget extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onUpdate(context, appWidgetManager, appWidgetIds);
Log.w("on update here", " message");
RemoteViews rm = new RemoteViews(context.getPackageName(),
R.layout.widget_layout);
for (int loop = 0; loop <= 20; loop++) {
Log.w("on update here", "loop counter =" + loop);
rm.setTextViewText(R.id.tvWidget, "now you see it " + loop);
for (int index = 0; index < appWidgetIds.length; index++) {
appWidgetManager.updateAppWidget(appWidgetIds[index], rm);
Log.w("updating", "aw number =" + index);
}
try {
Thread.sleep(2000, 0);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}