Widget创建过程(将RemoteViews发给WidgetHost)
创建Widget过程
(1)分配id(用HostId请求分配WidgetId:WidgetHost.allocateAppWidgetId:由WidgetService分配一个WidgetID)
WidgetService端:Host列表+WidgetId列表
(2)绑定id(将WidgetId绑定到Provider)
WidgetManager.bindAppWidgetId:将WidgetID绑定到WidgetProvider
将WidgetID放入相应WidgetProvider的ID列表
发送Enable(第一次)+Update广播 (Service发送广播请求RemoteViews)
WidgetService.sendEnableIntent 发送Enable广播
WidgetService.sendUpdateIntent 发送Update广播(WidgetIDs)
(3)Provider发送RemoteViews(接受广播,创建RemoteViews,再发给Service)
WidgetProvider接受广播,回调onEnable,onUpdate
创建RemoteViews(每一个WidgetID创建一个)
WidgetManager.updateAppWidget 将RemoteViews发给WidgetService
(4)Service通知Host
WidgetService通过IBinder回调WidgetHost的Callbacks(updateAppWidget,providerChanged,viewDataChanged)
(5)添加到桌面(Host创建View,刷新)
WidgetHost主线程调用updateAppWidgetView
WidgetHost根据WidgetID取到WidgetHostView,再根据RemoteViews创建View添加到WidgetHostView
Widget创建过程(将RemoteViews发给WidgetHost)相关推荐
- Android10.0应用进程创建过程以及Zygote的fork流程-[Android取经之路]
摘要:点击手机桌面图标,例如微信,它是如何启动的呢,让我们从系统源码级来一起分析. 阅读本文大约需要花费1小时. 文章的内容主要还是从源码进行分析,虽然又臭又长,但是如果想要学习Android系统源码 ...
- java初始化实例化_Java对象的创建过程:类的初始化与实例化
一.Java对象创建时机 我们知道,一个对象在可以被使用之前必须要被正确地实例化.在Java代码中,有很多行为可以引起对象的创建,最为直观的一种就是使用new关键字来调用一个类的构造函数显式地创建对象 ...
- iOS 的本地化使用和创建过程
在使用本地化语言之前,来看看本地化语言文件内容的结构(这里我以Chinese为例): "Cancel"="取消"; "OK"="确 ...
- python不能创建新变量_Python之变量的创建过程!
Python之变量的创建过程 一.变量创建过程 首先,当我们定义了一个变量name = 'Kwan'的时候,在内存中其实是做了这样一件事: 程序开辟了一块内存空间,将'Kwan'存储进去,再让变量名n ...
- 深入浅出Spring Security(二):FilterChainProxy的创建过程
上篇回顾 框架的核心是一个过滤器,这个过滤器名字叫springSecurityFilterChain,类型是FilterChainProxy WebSecurity和HttpSecurity都是建造者 ...
- OpenStack虚机网卡的创建过程
OpenStack虚机网卡的创建过程 OpenStack最基本和常用的操作就是启动虚机.虚机启动的过程中涉及很多内容,其中非常重要的一个环节就是创建并绑定虚机的虚拟网卡.虚机的创建和管理是Nova的任 ...
- 深入理解WMS(一):Window的创建过程
8.3 Window的创建过程 View是Android中的视图的呈现方式,但是View不能单独存在,它必须附着在Window这个抽象的概念上面,因此有视图的地方就有Window.Android中可以 ...
- netty 5 alph1源码分析(服务端创建过程)
研究了netty的服务端创建过程.至于netty的优势,可以参照网络其他文章.<Netty系列之Netty 服务端创建>是 李林锋撰写的netty源码分析的一篇好文,绝对是技术干货.但抛开 ...
- SharpDevelop插件系统创建过程全面分析
前言 2005年2月,我申报了一个学校组织的大学生SRTP项目,项目的题目是数据结构动画演示系统.当初在做项目之前,我无意中买了一本书,书名为<SharpDevelop软件项目开发全程剖析> ...
最新文章
- 完美解释了递归,哈哈哈哈
- 天猫精灵怎么和台式计算机链接,天猫精灵怎么连接电脑
- 小帅小胖智能机器人价格_“高科技”开学第一课,小胖机器人老师又“红”了...
- 向前欧拉公式 matlab_你可能不知道的MATLAB操作#第三话
- stm32串口传输数据第一个数据被吞_stm32串口发送数据复位 第一个数据丢失
- replace into mysql去重_上传 phpexcel 类 入库并入库前去重
- 12月9日 perform使用入门
- javap的用途不断发展:您的Java类文件中隐藏了什么?
- jquery+ajax+ashx
- Nodejs最好的ORM - TypeORM
- 【优化算法】自适应对抗粘菌优化算法 (AOSMA)【含Matlab源码 1425期】
- WebService入门
- python动态调用函数
- Description Resource Path Location Type Cannot change version of project fac(导入maven项目出现红叉问题)...
- 百度网盘下载太慢,试试阿里云网盘?
- 机械臂运动学入门(二)
- MS7024-数字编解码/TV编码器
- input的几种禁用方法
- 编译原理学习(二)--终结符和非终结符
- 学习用 JS/CSS 画一个时钟
热门文章
- Jenkins + Pipeline 构建流水线发布
- vue,一路走来(10)--生产环境
- 百战程序员试题与答案(仅供参考)
- jquery 选择器,模糊匹配
- 生理周期,POJ(1006)
- css cursor 的可选值(鼠标的各种样式)
- 手势模型和Angular Material的实现
- TabHost刷新activity的方法
- 2011年中国民营企业500强名单,广东仅13家浙江180家江苏130家
- HDU 1010题解这是一道简单的DFS加回溯题,看懂后就会对递归和回溯有较深刻的理解。...