Android 使用Widget 添加桌面小组件
2016-08-13 21:45
477 查看
Widget 桌面时间小组件
使用Widget添加桌面小组件 实现桌面时间更新Demo 地址https://wzeqiu.github.io/
AppWidgetProvider 继承自 BroadcastReceiver,它能接收 widget 相关的广播,例如 widget 的更新、删除、开启和禁用等。AppWidgetProvider中的广播处理函数如下:
onUpdate()
当 widget 更新时被执行。
同样,当用户首次添加 widget 时,onUpdate() 也会被调用,这样 widget 就能进行必要的设置工作(如果需要的话) 。但是,如果定义了 widget * 的 configure属性(即android:config,后面会介绍),那么当用户首次添加 widget 时,onUpdate()不会被调用;之后更新 widget * 时,onUpdate才会被调用。
onAppWidgetOptionsChanged()
当 widget 被初次添加 或者 当 widget 的大小被改变时,执行onAppWidgetOptionsChanged()。你可以在该函数中,根据 widget 的大小来显示/隐藏某些内容。可以通过 getAppWidgetOptions() 来返回 Bundle 对象以读取 widget 的大小信息,Bundle中包括以下信息:
OPTION_APPWIDGET_MIN_WIDTH – 包含 widget 当前宽度的下限,以dp为单位。
OPTION_APPWIDGET_MIN_HEIGHT – 包含 widget 当前高度的下限,以dp为单位。
OPTION_APPWIDGET_MAX_WIDTH – 包含 widget 当前宽度的上限,以dp为单位。
OPTION_APPWIDGET_MAX_HEIGHT – 包含 widget 当前高度的上限,以dp为单位。
onAppWidgetOptionsChanged() 是 Android 4.1 引入的。
onDeleted(Context, int[])
当 widget 被删除时被触发。
onEnabled(Context)
当第1个 widget 的实例被创建时触发。也就是说,如果用户对同一个 widget 增加了两次(两个实例),那么onEnabled()只会在第一次增加widget时触发。
onDisabled(Context)
当最后1个 widget 的实例被删除时触发。
onReceive(Context, Intent)
接收到任意广播时触发,并且会在上述的方法之前被调用。
总结,AppWidgetProvider 继承于 BroadcastReceiver。实际上,App Widge中的onUpdate()、onEnabled()、onDisabled()等方法都是在 onReceive()中调用的;是onReceive()对特定事情的响应函数。参考android源码frameworks/base/core/java/android/appwidget/AppWidgetProvider.java中onReceive()的定义:
相关文章推荐
- Android 桌面小组件AppWidget的使用
- Android的桌面组件App Widget的使用方法 AppWidgetProvider RemoteViews
- android 桌面组件 App widget的使用
- Android 桌面组件【app widget】 进阶项目--心情记录器
- Android 桌面组件【app widget】 进阶项目--心情记录器
- Android 桌面组件【app widget】 进阶项目--心情记录器
- 说说Android 两种为自定义组件添加属性的使用方法和区别 推荐
- 说说Android 两种为自定义组件添加属性的使用方法和区别
- Android之桌面组件App Widget案例
- 说说Android 两种为自定义组件添加属性的使用方法和区别
- Android桌面组件App Widget开发三步走
- 说说Android 两种为自定义组件添加属性的使用方法和区别
- Android桌面组件AppWidget讲解
- Android 桌面组件【widget】初探
- Android 桌面组件【app widget】
- Android 桌面组件【widget】初探
- Android 桌面组件【app widget】 进阶项目--心情记录器
- Android 桌面组件【app widget】 进阶项目--心情记录器
- Android 桌面组件【widget】初探
- Android 桌面组件【widget】初探