android.appwidget-AppWidgetManager

AppWidgetManager:继承object类,更新appwidget状态,和获取安装appwidget提供信息,以及其它相关状态信息。

 

主要静态常量:

1)ACTION_APPWIDGET_PICK:一个action,添加一个appwidget到桌面显示,启动appwidget选择界面,必须对EXTRA_APPWIDGET_ID(和一个桌面小部件是一对一的关系)常量进行赋值,并会返回一个结果RESULT_CANCELED(Activity常量,删除)或者RESULT_OK(Activity常量,添加);

2)ACTION_KEYGUARD_APPWIDGET_PICK:意义和1)相同,只不过显示的地方不同,一个在桌面,一个在keyguard;

3)EXTRA_APPWIDGET_ID:appwidget的id,唯一标志;

4)6种广播常量:appwidget provider中进行处理,见http://www.cnblogs.com/liutao-guoyujiao/p/6498685.html

5)EXTRA_APPWIDGET_PROVIDER:AppWidgetProvider组件名

6)IAppWidgetService:私有常量(不是静态)

 

常用方法

1)getInstance(Context context):获取AppWidgetManager实例

2)updateAppWidget(* *, RemoteViews views):有3种重载形式,id数组,单一id,和appwidget provder组件名,会向相应的appwidget provider发出action=ACTION_APPWIDGET_UPDATE的广播;

3)partiallyUpdateAppWidget(* *, RemoteViews views):有2种重载形式,id数组,单一id,会向相应的appwidget provider发出action=ACTION_APPWIDGET_UPDATE的广播;和2)区别是,局部更新3)性能更好;

4)updateAppWidgetOptions(int appWidgetId, Bundle options):更新appwidget的相关属性;

 

要点

1)此类中的方法是调用IAppWidgetService的同名方法来实现的;

2)相关状态,包括注册appwidget provider子类的元数据,以及视图xml文件中属性值

3)对视图变化进行更新

 

:IAppWidgetService对象才是关键,在后面将会进行分析

posted @ 2017-03-05 21:00  爱吃胡罗卜  阅读(2269)  评论(0编辑  收藏  举报