接上两篇,如果想要实时更新widget的话,可以通过service去操作。

一、先新建一个AppwidgetService服务类继承Service

public class AppWidgetService extends Service {    private List strLists = new ArrayList<>();    @Nullable    @Override    public IBinder onBind(Intent intent) {        return null;    }    private Timer timer;    int i = 0;    private TimerTask task = new TimerTask(){        @Override        public void run() {            AppWidgetManager manager = AppWidgetManager.getInstance(getApplicationContext());//获得appwidget管理实例,用于管理appwidget以便进行更新操作            ComponentName componentName = new ComponentName(getApplicationContext(),AppWidget.class);//获得所有本程序创建的appwidget            RemoteViews remoteViews = new RemoteViews(getPackageName(),R.layout.widget_layout);//获取远程视图            remoteViews.setTextViewText(R.id.txt,strLists.get(i));            manager.updateAppWidget(componentName,remoteViews);            //每执行一次 i加1;            i++;            //如果i>6即,strLists最后一个数据,则归零            if (i>6){                i = 0;            }        }    };    @Override    public void onCreate() {        super.onCreate();        initData();        timer = new Timer();        timer.schedule(task,0,1000);//开始任务    }    private void initData(){        strLists.add("我");        strLists.add("我们");        strLists.add("我们去");        strLists.add("我们去哪");        strLists.add("我们去哪里");        strLists.add("我们去哪里啊");        strLists.add("我们去哪里啊?");    }    @Override    public int onStartCommand(Intent intent, int flags, int startId) {        return super.onStartCommand(intent, flags, startId);    }    @Override    public void onDestroy() {        super.onDestroy();        //关闭定时器        timer.cancel();    }}

二、在清单文件中注册AppwidgetService

  

、在Appwidget广播接收器中

onEnabled启动服务即第一个widget创建的时候执行

onDisabled停止服务即最后一个widget删除的时候执行

更多相关文章

  1. android执行远程地址,就会报android.os.Net..... 这个原因是网络
  2. GestureLibrary增加手势笔记
  3. Android开发 文件操作
  4. 基于Android的计算器(代码行数足够用来交大作业)
  5. [Android]文件操作模式与SDCard读写访问
  6. android 中文api (63) —— SimpleAdapter.ViewBinder
  7. Android中Drawable Bitmap Canvas Paint之间区别
  8. Android(安卓)API 中文(77)――AdapterView.OnItemSelectedListene
  9. Android(安卓)ViewTreeObserver简介

随机推荐

  1. android:configChanges属性总结
  2. Android(安卓)SDK无法更新问题解决
  3. Android开发EditText属性
  4. android shape详解
  5. Android(安卓)代码混淆 防止反编译
  6. JS判断客户端是否是iOS或者Android手机移
  7. Android(安卓)SAX解析xml文件
  8. Android(安卓)startActivityForResult的
  9. (转)Android_GPS
  10. Android—自动弹出软键盘