Android AppWidgetProvider应用
AppWidgetProvider 用来在HOME页面显示插件
实现步调:
1、为AppWidget供给一个元布局文件AppWigdetProvider_Provider.xml,用来显示Widget的界面。
2、创建一个类持续自AppWidgetProvider,并覆写里面的相干的办法。
3、为WidgetProvider创建一个引用的布局文件,或者直接用main.xml。
4、在法度中注册Manifest.xml。
代码如下:
1、在res/xml/文件夹下创建AppWigdetProvider_Provider.xml文件
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/main" <!-- android:initialLayout 设置引用的布局文件 -->
android:minHeight="50dip"
android:minWidth="50dip"
android:PeriodMillis="5000" > <!-- 设置更新时候,单位为毫秒 -->
</appwidget-provider>
2、批改MainActivity持续自AppWidgetProvider并覆写里面的一些办法
public class MainActivity extends AppWidgetProvider { @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { super.onUpdate(context, appWidgetManager, appWidgetIds); Timer timer = new Timer(); timer.scheduleAtFixedRate(new LYTimeTask(context, appWidgetManager), 1, 50000); } private class LYTimeTask extends TimerTask { RemoteViews remoteViews; AppWidgetManager appWidgetManager; ComponentName widget; @Override public void run() { Date date = new Date(); Calendar calendar = new GregorianCalendar(2013, 07, 24); long days = (calendar.getTimeInMillis() - date.getTime()) / 1000 / 86400; remoteViews.setTextViewText(R.id.worldcup, "间隔宝贝诞辰" + days + "天"); appWidgetManager.AppWidget(widget, remoteViews); } public LYTimeTask(Context context, AppWidgetManager appWidgetManger) { super(); this.appWidgetManager = appWidgetManger; remoteViews = new RemoteViews(context.getPackageName(), R.layout.activity_main); widget = new ComponentName(context, MainActivity.class); } }; }
3、为Widget创建一个显示用的布局文件:main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/worldcup"
android:orientation="vertical" >
<TextView
android:id="@+id/babybirthday"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/message"
android:textSize="12px"
android:textColor="#ff0000" />
</LinearLayout>
4、批改法度主动生成的清单文件。
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<receiver
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" /><!--广播接管过滤器-->
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/AppWigdetProvider_Provider" /><!--AppWidgetProvider引用的Provider文件-->
</receiver>
</application>
运行法度:进入WIDGETS页面,可将Widget添加到HOME页
在AppWidgetProvider类中,还有其它相干的办法
public class WidgetProvider extends AppWidgetProvider { // 每接管一次广播消息就调用一次,应用频繁 public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); } // 每次更新都调用一次该办法,应用频繁 public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { super.onUpdate(context, appWidgetManager, appWidgetIds); } // 每删除一个就调用一次 public void onDeleted(Context context, int[] appWidgetIds) { super.onDeleted(context, appWidgetIds); } // 当该Widget第一次添加到桌面是调用该办法,可添加多次但只第一次调用 public void onEnabled(Context context) { super.onEnabled(context); } // 当最后一个该Widget删除是调用该办法,重视是最后一个 public void onDisabled(Context context) { super.onDisabled(context); } }
Android AppWidgetProvider应用相关推荐
- android AppWidgetProvider开发桌面小工具
什么是桌面小工具 就是你写好代码后 双指缩放桌面屏幕(三星手机出现小组件,华为出现窗口小工具)点击之后会出现你继承AppWidgetProvider所编写的界面 效果: 代码: /** * Impl ...
- (转)android AppWidgetProvider 定时刷新问题
AppWidgetProvider是专门用来制作android桌面组件的东东 本来想做一个小时钟 但是在定时刷新的时候遇到了问题 很多资料和书上的方法是 在onUpdate()方法中 用Intent请 ...
- android AppWidgetProvider 定时刷新问题
原文地址:: http://blog.csdn.net/maydie1989/article/details/6460163 相关网帖 1.AppWidgetProvider使用问题----http: ...
- 电子投票算法_电子投票的历史不短
电子投票算法 As we close in on the 2020 elections, here's an in-depth look at the history of electronic vo ...
- 关于调用系统相机以及压缩照片
style="DISPLAY: none" frameborder="0"> style="Z-INDEX: 9999; POSITION: a ...
- Android中AppWidget的分析与应用:AppWidgetProvider .
from: http://blog.csdn.net/thl789/article/details/7887968 本文从开发AppWidgetProvider角度出发,看一个AppWidgetPrv ...
- android service什么时候销毁,阳光沙滩-android 通过AppWidgetProvider 启动的Service会自动销毁问题...
想写一个根据电量来切换图片的AppWidget,由于监视电量需要另起一个service,我的想法是在添加第一个widget时启动service,在删除最后一个时结束service. layout< ...
- Android之高仿墨迹天气桌面组件(AppWidgetProvider) .
Android之高仿墨迹天气桌面组件(AppWidgetProvider) . 点击:382 发布时间:2012-10-03 更多0 相信墨迹天气,大家都见过,他在时间显示和天气界面上,很吸引人,今天 ...
- 基于android的天气预报的设计与实现
目录 应用开发技术及开发平台介绍 应用需求分析 应用功能设计及其描述 应用UI展示 ①开发技术: 本系统是采用面向对象的软件开发方法,基于Android studio开发平台,以Android作为本系 ...
最新文章
- Oracle的SQL语句
- 业务工作流平台设计(九)
- 如何在 SAP BTP 平台 ABAP 编程环境里消费基于 SOAP 的 Web Service
- 《TCP/IP详解》学习笔记(七):广播和多播、IGMP协议
- 项目中的设计模式【适配器模式】
- 波士顿房价数据集 Boston house prices dataset
- 【笔记】感谢《梦幻模拟战》的Unity+Spine资源,同人模式开启
- linux服务器root密码忘记怎么办,Linux忘记root密码怎么办?
- 关于工信部191号文《App违法违规收集使用个人信息行为认定方法》的评估
- 17计算机七班班级活动,2017班级主题活动方案设计
- mysql 64 免安装_MYSQL 免安装版(windows 7/64)
- 分布式文件存储系统MinIO入门教程
- 移动硬盘安装ubuntu20.04.5(重装无数次的一个教程)
- linux图片格式转换工具,在Linux系统上安装和使用Converseen批量图像转换器的方法...
- matlab 多子图_matlab 多子图的绘画
- spring boot修改启动图标和启动成功提示
- 支付退款流程设计_如何设计订单系统?不妨看看这篇文章
- 字节大牛教你手撕Android学习,灵魂拷问
- 核密度估计与自适应带宽的核密度估计
- Bugtags:移动时代首选 Bug 管理系统