Widget创建过程
2016-03-13 22:10
423 查看
依照android文档
http://www.android-doc.com/guide/topics/appwidgets/index.html
1.写一个类继承MyWidget AppWidgetProvider 并且在清单文件中注册
其中resource为xml的配置文件
2.新建文件夹xml 创建example_appwidget_info.xml
项目中一般使用一下几个即可
其中android:updatePeriodMillis=”0”
更新时间如果为半个小时肯定不能达到目的
在后台起一个服务 定时器每个指定时间更新一下widget
3.widget 生命周期
4.
写一个服务 并在清单文件中配置
onCreate()
onDestroy()
在桌面有widget时启动服务 在Widget的OnEnabled方法中启动服务 为了防止服务被杀死可yi在
OnUpdate()中也启动服务 服务多次启动不会造成任何影响
在disDabled中停止服务
在服务中更新Widget
用AppWidgetManager.updateAppWidget()
widget增加点击事件
setOnClickPendingIntent()
监听屏幕关闭 开启或关闭定时器
http://www.android-doc.com/guide/topics/appwidgets/index.html
1.写一个类继承MyWidget AppWidgetProvider 并且在清单文件中注册
<receiver android:name="ExampleAppWidgetProvider" > <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/example_appwidget_info" /> </receiver>
其中resource为xml的配置文件
2.新建文件夹xml 创建example_appwidget_info.xml
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="294dp" //最小宽度 android:minHeight="72dp" // 最小高度 android:updatePeriodMillis="86400000" //更新间隔时间(毫秒值) 每隔24小时一更新,最短半个小时 android:previewImage="@drawable/preview" // 预览图片 默认是logo android:initialLayout="@layout/example_appwidget" //初始化布局文件 android:configure="com.example.android.ExampleAppWidgetConfigure" // 配置页面 点击进入的页面 android:resizeMode="horizontal|vertical"> // 缩放方式 android:widgetCategory="home_screen|keyguard" //支持类型 keyguard锁屏页面 4.2以上支持 android:initialKeyguardLayout="@layout/***" // 锁屏窗口的布局 4.2以上支持 </appwidget-provider>
项目中一般使用一下几个即可
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="294dp" //最小宽度 android:minHeight="72dp" // 最小高度 android:updatePeriodMillis="0" android:initialLayout="@layout/example_appwidget" //初始化布局文件 </appwidget-provider>
其中android:updatePeriodMillis=”0”
更新时间如果为半个小时肯定不能达到目的
在后台起一个服务 定时器每个指定时间更新一下widget
3.widget 生命周期
OnReceive() //所以声明周期被调用后都会调用一下 OnEnabled() //第一个widget被创建时调用 OnUpdate() // 当新增widget时调用 自动更新时调用 OnDeleted() // widget被删除时调用 OnDisabled() // 最后一个widget被移除时调用 OnAppWidgetOptionsChanged() //widget宽高发生变化时
4.
写一个服务 并在清单文件中配置
onCreate()
onDestroy()
在桌面有widget时启动服务 在Widget的OnEnabled方法中启动服务 为了防止服务被杀死可yi在
OnUpdate()中也启动服务 服务多次启动不会造成任何影响
在disDabled中停止服务
在服务中更新Widget
用AppWidgetManager.updateAppWidget()
widget增加点击事件
setOnClickPendingIntent()
监听屏幕关闭 开启或关闭定时器
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories