AppWidgetProvider是一个BroadcastReceiver,必须在AndroidManifest.xml中声明该Receiver,并接收“Android.appwidget.action.APPWIDGET_UPDATE”。AppWidgetProvider使开发者能够自定义的桌面小工具。本文介绍一个桌面时钟的小工具。用户安装程序后需要在手机窗口小工具中添加,方可查看到。

继承AppWidgetProvider类,实现update方法。

package com.example.desktopdemo;import java.text.SimpleDateFormat;import java.util.Date;import android.annotation.SuppressLint;import android.app.Service;import android.appwidget.AppWidgetManager;import android.appwidget.AppWidgetProvider;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.os.IBinder;import android.widget.RemoteViews;public class EX04_28 extends AppWidgetProvider {@Overridepublic void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) {Intent intent = new Intent(context, UpdateService.class);context.startService(intent);super.onUpdate(context, appWidgetManager, appWidgetIds);}public static class UpdateService extends Service {@Overridepublic IBinder onBind(Intent intent) {// TODO Auto-generated method stubreturn null;}@SuppressLint("SimpleDateFormat") @Overridepublic void onStart(Intent intent,int startId){RemoteViews updateViews = new RemoteViews(this.getPackageName(),R.layout.main);SimpleDateFormat sdf = new SimpleDateFormat("hh:mm");updateViews.setTextViewText(R.id.textView01, ""+sdf.format((new Date())));ComponentName thisWidget = new ComponentName(this,EX04_28.class);AppWidgetManager manager = AppWidgetManager.getInstance(this);manager.updateAppWidget(thisWidget, updateViews);}}}

AndroidManifest.xml的定义

<?xml version="1.0" encoding="utf-8"?>                                                                                                    

my_widget_provider.xml定义(注:android:updatePeriodMillis 这种方式已经在SKD1.5以后被废了,可自定义线程进行刷新

<?xml version="1.0" encoding="utf-8"?>

main.xml定义:

<?xml version="1.0" encoding="utf-8"?>    


Demo下载

更多相关文章

  1. Android(安卓)多线程保证操作同步(同步锁的俩种)
  2. android 面试
  3. Android自定义View基础--Paint画笔设置样式
  4. Android(安卓)Camera+SurfaceView实现自定义拍照
  5. Android中不能在子线程中更新View视图的原因
  6. Android(安卓)自定义组件相关
  7. Android(安卓)基于RecyclerView上下拉刷新(让你轻松自定义头部和
  8. android app 与电脑wifi通信(二)
  9. 简单的网页源码查看器

随机推荐

  1. 在android的webview中实现websocket
  2. Android(安卓)APK包文件解析
  3. android 异步获取图片
  4. ADB连接Android设备的三种方法
  5. Android(安卓)Animation学习笔记
  6. Android(安卓)应用程序之间数据共享—Con
  7. Android(安卓)ListView动画实现方法
  8. Chrome for Android(安卓)编译了两天终于
  9. 实战技巧:Android异步指南
  10. 8、Android中Intent(意图)