Android中Widget开发步骤
一、创建一个类,继承自 AppWidgetProvider
生命周期介绍:
onEnabled():创建第一个widget时调用
onDisabled():删除最后一个widget时调用
二、在清单文件中,声明一个receiver
2.1 声明intent-filter的action
2.2 声明meta-data
2.3 根据resource布局widget
三、创建一个服务类,动态(定时)更新widget中的数据
备注:服务在第一步创建类中生命周期的onEnabled方法中开启,在onDisabled方法中关闭
3.1 在服务的onCreate()方法中,使用AppWidgetManager.getInstance(getApplicationContext());获取widget管理器对象
3.2 调用widgetManager中的updateAppWidget方法,更新widget
// provider:要更新widget的类名
ComponentName provider = new ComponentName(getApplicationContext(), ExampleAppWidgetProvider.class);
// views:远程界面,用于获取widget中的控件,来更新控件中的数据
RemoteViews views = new RemoteViews(getPackageName(), R.layout.process_widget);
// 给RemoteViews的子组件赋值
views.setTextViewText(R.id.process_count, "sample_data");
// 自定义一个广播接收者,在这里发送广播,接收到广播以后完成指定的后台任务
Intent intent = new Intent("com.mzzdxt.widget.cleartask");
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, intent , 0);
// 给widget按钮加点击事件
views.setOnClickPendingIntent(R.id.btn_clear, pendingIntent);
void android.appwidget.AppWidgetManager.updateAppWidget(ComponentName provider, RemoteViews views)
最新文章
- PHP安装kafka插件
- C# 连接DB2字符串 Oracle免安装客户端连接字符串
- Html标签第三课
- javascript删除元素节点
- NPOI导出word,以及对table的一些设置
- 1.Repeater控件
- java-StringTokenizer类
- Kafka 源码剖析
- 备忘:java在cmd中编译运行
- 我敢说你不一定完全理解try 块,catch块,finally 块中return的执行顺序
- SQLServer之修改PRIMARY KEY
- pip 安装 和 卸载 django
- Structured Streaming + Kafka Integration Guide 结构化流+Kafka集成指南 (Kafka broker version 0.10.0 or higher)
- 解决在IDEA 的Maven下 出现 Cannot access in offline mode 问题
- 根据条件决定My97DatePicker日期控件弹出的日期格式
- 一、JavaScript概述 	二、JavaScript的语法 	三、JavaScript的内置对象
- C++11新特性应用--介绍几个新增的便利算法(用于排序的几个算法)
- jenkins之升级
- java System.arrayCopy使用说明
- 实验吧 Fair Play