您的位置:首页 > 移动开发 > Android开发

Android 开发艺术探索 读书笔记5

2017-02-25 15:50 155 查看
第五章、理解RemoteViews

RemoteViews表示的是一个View结构,他可以在其他进程中显示。他提供了一种基础操作用于跨进程更新它的界面。

使用场景:1.通知栏和桌面小部件

一,应用

 1.通知栏p234

 2.桌面小部件的应用

开发步骤:1.定义小部件界面,在res/layout/下面建一个xml文件。2.定义小部件配置信息在res/layout下新建一个xml文件添加以下内容



3.定义小部件的实现类继承AppWidgetProvider

4.在AndroidManifest.xml中声明小部件,注册广播receiver并添加两个action



3.pendingIntent概述

pendingIntent在将来某个不确定的时刻,Intent表示立即发生。典型使用场景是给RemoteViews添加单击事件

 支持三种特定用途;启动Activity getActivity(context,requestCode,intent,flags),启动service getService(同上),发送广播 getBroadcast(同上)

匹配规则:intent相同,requestCode也相同;intent相同:ComponentName和intent-filter相同。

第四个参数FLAG_ONE_SHOT:PendingIntent只能使用一次;FLAG_NO_CREATE:描述当前pendingintent不会主动创建,没有太大意义。FLAG_CANCEL_CURRENT:如果已经存在,都会被cancle,然后创建新的,被cancle的消息单击后无法打开。FLAG_UPDATE_CURRENT:如果已经存在,都会被更新,即他们的Intent中的Extras会被替换成最新的。

二、RemoteViews的内部机制

所支持的View类型:AnalogClock,Button,Chronometer,ImageButton,ImageView,ProgressBar,TextView,ViewFlipper,ListView,GridView,StackView,AdapterViewFlipper,ViewStub

所支持的Layout:FrameLayout,LinearLayout,RelativeLayout,GridLayout

不支持其他子类或者其他View,也无法使用自定义View

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: