package com.genius.col;
import java.util.ArrayList;
import java.util.Timer;
import java.util.TimerTask;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.widget.RemoteViews;
public class AppClockWidgetProvider extends AppWidgetProvider{
private static RemoteViews mRemoteViews;
private static Timer mTimer;
// mAppWidgetArray 保存窗口部件实例的数组
private static ArrayList<int[]> mAppWidgetArray = new ArrayList<int[]>();
// 当最后一个窗口部件实例被移除时调用
public void onDisabled(Context context) {
// TODO Auto-generated method stub
super.onDisabled(context);
stopTimerTask();
}
// 当第一个窗口部件实例被创建时调用
public void onEnabled(Context context) {
// TODO Auto-generated method stub
super.onEnabled(context);
startTimerTask(context);
}
// 窗口部件实例创建时调用
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onUpdate(context, appWidgetManager, appWidgetIds);
updateAppWidget(context, appWidgetManager, appWidgetIds);
addInstance(appWidgetIds);
}
// 窗口部件实例删除时调用
public void onDeleted(Context context, int[] appWidgetIds) {
// TODO Auto-generated method stub
super.onDeleted(context, appWidgetIds);
removeInstance(appWidgetIds);
}
// 更新单个窗口部件实例
public static void updateAppWidget(Context context,
AppWidgetManager appWidgeManger, int []appWidgetIds) {
mRemoteViews = new RemoteViews(context.getPackageName(), R.layout.main);
MyTimeAdapter timeAdapter = new MyTimeAdapter();
String timeString = timeAdapter.formatTime();
mRemoteViews.setTextViewText(R.id.myTextView, timeString);
appWidgeManger.updateAppWidget(appWidgetIds, mRemoteViews);
}
// 更新所有窗口部件实例
public static void RefreshAllWidget(Context context){
AppWidgetManager appWidgetManger = AppWidgetManager.getInstance(context);
int instanceCount = mAppWidgetArray.size();
for(int i = 0; i < instanceCount; i++){
int[]appWidgetIds = mAppWidgetArray.get(i);
updateAppWidget(context, appWidgetManger, appWidgetIds);
}
}
// 增加窗口部件实例
public static void addInstance(int[] appWidgetIds){
if (mAppWidgetArray != null){
mAppWidgetArray.add(appWidgetIds);
}
}
// 删除窗口部件实例
public static void removeInstance(int[] appWidgetIds){
if (mAppWidgetArray != null){
mAppWidgetArray.remove(appWidgetIds);
}
}
// 开启刷新窗口部件的定时器
public static void startTimerTask(final Context context){
if (mTimer == null){
mTimer = new Timer();
TimerTask mTimerTask = new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
AppClockWidgetProvider.RefreshAllWidget(context);
}
};
mTimer.schedule(mTimerTask, 0, 1000);
}
}
// 关闭刷新窗口部件的定时器
public static void stopTimerTask(){
if (mTimer != null){
mTimer.cancel();
mTimer = null;
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
ColClockAppWidget.rar (27个子文件)
ColClockAppWidget
bin
classes.dex 5KB
com
genius
col
AppClockWidgetProvider$1.class 655B
R$layout.class 382B
R$id.class 413B
R$drawable.class 388B
MyTimeAdapter.class 1KB
AppClockWidgetProvider.class 3KB
R$attr.class 328B
R.class 543B
R$string.class 386B
R$xml.class 387B
resources.ap_ 11KB
ColClockAppWidget.apk 16KB
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
values
strings.xml 114B
drawable-mdpi
icon.png 3KB
layout
main.xml 674B
xml
my_widget_provider.xml 216B
assets
default.properties 362B
gen
com
genius
col
R.java 851B
proguard.cfg 1KB
src
com
genius
col
MyTimeAdapter.java 815B
AppClockWidgetProvider.java 3KB
.project 853B
.classpath 280B
AndroidManifest.xml 730B
共 27 条
- 1
资源评论
- l541961812013-11-07可以用,还不错,
赖生要崛起
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JSP-JTBC-CMS(SQLITE).rar
- MC3362和MC145151调频无线接收器的设计.pdf
- MiniRenamer-v100.0一款简单易用的批量文件重命名工具(已注册PRO版本).rar
- 小狐狸Ai系统 小狐狸ai付费创作系统V2.8.0 ChatGPT智能机器人
- 公孙离-内衣-肚兜.zipgsl
- 快慢指针判断链表是否有环-go 语言实现
- 学生成绩管理系统的设计与实现-收藏备用.pdf
- JSP+SQL网站流量统计管理系统(源代码+论文).rar
- IBM-PC-XT微机过程...道中模拟量数据的采集和处理.pdf
- JSP+SQL网上选课系统(源代码+论文+答辩PPT).rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功