android – 如何定期更新小部件,比如每5秒后更新一次

前端之家收集整理的这篇文章主要介绍了android – 如何定期更新小部件,比如每5秒后更新一次前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有简单按钮实现的小部件,每当我们点击一​​个按钮时,它就会翻转一组给定的图像.现在,如果我想在没有点击按钮的情况下每5秒翻一次,我该怎么办?

解决方法

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

您可以在appwidget-provider中使用android:updatePeriodMillis属性.
在Android开发者网站上查看Adding the AppWidgetProviderInfo Metadata.
问题是,为了节省电池,你不能设置30分钟(1800000毫秒)以下的时间.

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

  1. @Override
  2. public void onReceive(Context context,Intent intent) {
  3.  
  4. final String action = intent.getAction();
  5.  
  6. if (ACTION_APPWIDGET_UPDATE.equals(action)) {
  7. // Update your widget here.
  8. }
  9. }

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

  1. final Handler handler = new Handler();
  2. Timer timer = new Timer();
  3.  
  4. TimerTask task = new TimerTask() {
  5.  
  6. @Override
  7. public void run() {
  8. handler.post(new Runnable() {
  9. public void run() {
  10. // send a broadcast to the widget.
  11. }
  12. });
  13. }
  14. };
  15. timer.scheduleAtFixedRate(task,5000); // Executes the task every 5 seconds.

猜你在找的Android相关文章