首先,我强烈建议您不要每5秒更新一次小部件.它会立刻杀死你的电池.

您可以在appwidget-provider中使用android:updatePeriodMillis属性.

在Android开发者网站上查看Adding the AppWidgetProviderInfo Metadata.

问题是,为了节省电池,你不能设置30分钟(1800000毫秒)以下的时间.

设置所需的更新周期后,您只需在AppWidgetProvider的onReceive()方法中定义行为即可.要做到这一点,你必须抓住ACTION_APPWIDGET_UPDATE事件.

@Override

public void onReceive(Context context, Intent intent) {

final String action = intent.getAction();

if (ACTION_APPWIDGET_UPDATE.equals(action)) {

// Update your widget here.

}

}

如果您真的想每5秒执行一次任务,可以使用Timer和TimerTask类:

final Handler handler = new Handler();

Timer timer = new Timer();

TimerTask task = new TimerTask() {

@Override

public void run() {

handler.post(new Runnable() {

public void run() {

// send a broadcast to the widget.

}

});

}

};

timer.scheduleAtFixedRate(task, 0, 5000); // Executes the task every 5 seconds.

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐