- 玩转AppWidget
使用安卓的时候相信大家一定还记得快捷方式的运用,就是将一些经常用的软件拖到桌面上以方便操作。例如qq快捷联系人,音乐快捷播放器之类的而这些肯定有一个支持其运行的程序,这些程序必须通过AppWidget组件来完成。
-
AppWidgetProvider:继承自BroadcastReceiver,在App Widget应用update,enable,disable和deleted时接受通知。其中onUpdate,onReceive是最常用到的方法。
-
AppWidgetProviderInfo:描述AppWidget的大小,更新频率和初始界面等信息,以xml文件的形式存在于应用中的res/xml目录下。
-
AppWidgetManager:负责管理AppWidget,向AppWidgetProvider发送通知。
-
RemoteViews:一个可以在其他应用进程中运行的类,是构造AppWidget的核心。
首先我们定义MyAppWidget 类extends AppWidgetProvider
public class MyAppWidget extends AppWidgetProvider { @Override public void onDeleted(Context context, int[] appWidgetIds) { System.out.println("*** MyAppWidget onDeleted") ; super.onDeleted(context, appWidgetIds); } @Override public void onDisabled(Context context) { System.out.println("*** MyAppWidget onDisabled") ; super.onDisabled(context); } @Override public void onEnabled(Context context) { System.out.println("*** MyAppWidget onEnabled") ; super.onEnabled(context); } @Override public void onReceive(Context context, Intent intent) { System.out.println("*** MyAppWidget onReceive") ; super.onReceive(context, intent); } @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { System.out.println("*** MyAppWidget onUpdate") ; super.onUpdate(context, appWidgetManager, appWidgetIds); } }
然后我们想在桌面显示的图标布局函数res\xl\ee.xml
<ImageButton android:id="@+id/imageButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/a10" />
定义桌面显示的AppWidgetProvider类配置文件res\xml\ee.xml
<?xml version="1.0" encoding="utf-8"?> <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minHeight="80px" android:minWidth="300px" android:updatePeriodMillis="6000" android:initialLayout="@layout/ee">//组件所需要的配置文件 </appwidget-provider>
之后就是AnsroidManifest配置
<receiver android:name=".MyAppWidget"> <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/ee" /> </receiver>
实现效果自己在安卓小组件找到自己定义的AppWidget拖到桌面即可,小编的是这样的哦
现在其实我们点击桌面上的图标是毫无反应的,这是因为我们还未绑定按钮跳转到相应的Activity上,所以呢,
我们在
public class MyAppWidget extends AppWidgetProvider { @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { for (int x = 0; x < appWidgetIds.length; x++) { Intent intent = new Intent(context,MyAppWidgetDemo.class) ; PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); RemoteViews remote = new RemoteViews(context.getPackageName(), R.layout.ee); remote.setOnClickPendingIntent(R.id.but, pendingIntent) ; appWidgetManager.updateAppWidget(appWidgetIds[x], remote) ; } } } 将这个一段改为这样就好,这里用for循环是为了获取多个快捷方式,因为很多爱玩的用户总是喜欢这里建
一个,那里建一个,因此要获取到所有的快捷方式。
现在我们实现了点击图片跳转到Activity
实现效果如下:
相关推荐
在Android系统中,桌面小组件(AppWidget)是一种允许用户在主屏幕上与应用程序进行交互的UI元素。它们提供了一种快捷的方式,使用户无需打开应用就能获取信息或执行某些操作。"Android桌面小组件(AppWidget)"这个...
在这个进阶项目“Android桌面组件【app widget】—心情记录器”中,我们将深入探讨如何创建一个能够帮助用户便捷记录和展示心情的小部件。 首先,我们需要理解App Widget的基本构成。一个App Widget通常包含以下几...
Android 桌面组件,又称为 App Widget,是 Android 系统中一种独特且实用的功能。它允许开发者创建小型的应用程序界面,用户可以直接在主屏幕上进行交互,无需打开完整的应用程序。App Widget 提供了一种快捷的方式...
5. **添加AppWidget到主屏幕**:在应用中提供一个启动器(Launcher)Activity,让用户可以将AppWidget添加到主屏幕。这个Activity通常会启动一个Intent,让用户选择AppWidget的大小和位置。 6. **测试和发布**:...
6. **安装和启动**: 用户可以通过Android的Widget选择器将AppWidget添加到主屏幕。开发者的测试则可以通过Android Studio的模拟器或真机调试进行。 在实际开发中,AppWidget还可以结合服务(Service)和广播接收器...
AppWidget,即桌面小部件,是Android系统提供的一种允许应用程序在主屏幕放置动态更新的组件,用户无需打开完整应用即可查看信息或进行简单交互。本文将全面解析AppWidget的工作原理、生命周期、启动运行过程以及...
在Android操作系统中,桌面小组件(AppWidget)是一种可以放置在用户主屏幕上的小型应用程序界面,为用户提供快捷访问或操作应用的功能。它们不是独立的应用,而是集成在已安装应用程序中的扩展。下面,我们将深入...
在Android平台上,AppWidget是应用程序可以提供的一种桌面小部件功能,允许用户在主屏幕上放置一些交互式的迷你应用,提供简化的界面和快捷操作。这个压缩包"Android高级应用源码-Android小部件AppWidget.zip"显然...
Android App Widget是Android系统提供的一种轻量级的UI组件,允许开发者在用户的主屏幕上放置一些交互式的快捷方式或小部件,提供类似于桌面小工具的功能。这些小部件可以显示实时信息,如天气、日历事件、音乐播放...
Android AppWidget是Android系统提供的一种轻量级组件,允许开发者在用户的主屏幕上创建小型应用程序,通常称为小部件或快捷方式。这些小部件不需要用户启动应用,就能直接在主屏幕上显示和交互,为用户提供便捷的...
本教程将深入讲解如何使用AppWidget来创建一个桌面时钟插件,确保其显示的时间与系统时间保持同步,并且在用户点击时能够跳转到相应的应用程序。 首先,我们需要了解AppWidget的基本结构。一个AppWidget通常由以下...
Android平台上的App Widget是桌面小部件的一种形式,它允许开发者创建可在用户主屏幕上显示和交互的轻量级组件。这些组件通常提供应用的主要功能的快捷方式或者简化的视图,无需打开整个应用程序。App Widgets不仅...
### 创建窗口小部件与AppWidget详解 在Android系统中,窗口小部件(AppWidget)是一种能够让用户在Home屏幕上获取应用信息和快捷操作的...正确实现AppWidget不仅可以提升用户体验,也可以加深对Android桌面组件的理解。
在Android平台上,AppWidget是Android小部件,它们是桌面组件,允许用户在主屏幕上与应用程序进行交互,而无需实际打开应用程序。本项目是针对Android应用源码的学习与毕业设计,旨在帮助开发者理解如何创建和集成...
在Android系统中,AppWidget是桌面小部件的实现方式,...无论是简单的显示信息,还是复杂的交互逻辑,AppWidget都能提供一种方便快捷的实现方式。在开发过程中,注意性能优化和用户体验,是制作高质量AppWidget的关键。
**AppWidget**: AppWidget是Android系统提供的一种小型应用程序组件,它可以在主屏幕或其他应用程序上显示信息并提供互动功能。用户无需打开完整的应用程序就能获取信息或执行特定操作,如播放音乐、查看天气或,就...
AppWidget 是 Android 平台上的一个重要特性,它允许开发者创建小型应用组件并嵌入到其他应用(如 Launcher)中,实现信息展示或快捷操作等功能。AppWidget 的概念与传统意义上的控件有所不同,它更多地是指一种可以...
【Android小部件AppWidget】是Android操作系统中的一种特殊组件,它允许用户在主屏幕上放置小型的应用程序界面元素,提供快捷的操作或显示实时信息。在Android应用开发中,AppWidget是扩展应用程序功能的一种方式,...
Android AppWidget是Android系统提供的一种桌面小部件功能,它允许开发者创建可以被用户直接放置在主屏幕上的小型应用程序,提供快捷的功能或者展示实时信息。在本文中,我们将深入探讨AppWidget的基本概念、工作...
AppWidget是可以在用户主屏幕上的小应用程序,通常用于提供应用程序的快捷方式或简化的交互。HomeScreenWidget则更专注于提供信息展示和简单的交互,比如天气预报、日历事件等。 在创建一个Widget时,我们需要编写...