private boolean addWeatherWidget(SQLiteDatabase db, ContentValues values,TypedArray a) {
String packageName = a.getString(R.styleable.Favorite_packageName);
String className = a.getString(R.styleable.Favorite_className);
if(packageName == null || className == null){
return false;
}
final int[] bindSources = new int[] {
Favorites.ITEM_TYPE_WIDGET_WEATHER,
};
final ArrayList<ComponentName> bindTargets = new ArrayList<ComponentName>();
bindTargets.add(new ComponentName(packageName, className));
boolean allocatedAppWidgets = false;
// Try binding to an analog clock widget
try {
int appWidgetId = mAppWidgetHost.allocateAppWidgetId();
values.put(Favorites.ITEM_TYPE, Favorites.ITEM_TYPE_WIDGET_WEATHER);
values.put(Favorites.SPANX,a.getString(R.styleable.Favorite_spanX));
values.put(Favorites.SPANY, a.getString(R.styleable.Favorite_spanY));
values.put(Favorites.APPWIDGET_ID, appWidgetId);
db.insert(TABLE_FAVORITES, null, values);
allocatedAppWidgets = true;
Log.i(LOG_TAG, "addWeatherWidget -- allocatedAppWidgets = "+allocatedAppWidgets);
} catch (RuntimeException ex) {
Log.e(LOG_TAG, "Problem allocating appWidgetId", ex);
}
// If any appWidgetIds allocated, then launch over to binder
if (allocatedAppWidgets) {
launchAppWidgetBinder(bindSources, bindTargets);
}
return allocatedAppWidgets;
}
<weather
launcher:packageName="com.moji.mjweather"
launcher:className="com.moji.mjweather.CMojiWidget4x2"
launcher:screen="3"
launcher:x="0"
launcher:y="1"
launcher:spanX="4"
launcher:spanY="2"/>
<widget
launcher:packageName="..." //widget的packageName
launcher:className=" ..." //实现 widget的 receiver 类的名称.
launcher:container="..." //放置的位置(只能为desktop)
launcher:screen="..." //放置在第几屏上
launcher:x="..." //放置的x位置
launcher:y="..." //放置的y位置
launcher:spanx="..." //在x方向上所占格数
launcher:spany="..."/> //在y方向上所占格数
分享到:
相关推荐
AppWidget是Android系统提供的一种可以在桌面展示的小部件,它允许用户在主屏幕上放置应用程序的快捷方式或者小型交互式UI,无需打开应用即可进行一些简单的操作。这个"AppWidget学习demo"是一个实例,帮助开发者...
可以将自己喜欢的app或者widget插件放置在android桌面,添加自己想要的书签,实现快速进入。
Mobile Widget是一种可以在手机桌面上显示动态信息的小工具,具有体积小、功能灵活的特点,能够为用户提供便捷的信息获取途径。 #### 开发环境准备 为了构建一个适用于OPhone平台的Widget开发环境,我们需要完成...
最后,将应用打包发布到设备或模拟器上,用户就可以在主屏幕上添加并使用我们创建的桌面小部件了。测试时,注意检查小部件在不同尺寸屏幕上的表现,以及各种交互情况下的正确性。 以上就是构建一个基本Android桌面...
【Widget2Home】是一款专为Android平台设计的应用程序,它允许用户轻松地将小部件(Widget)添加到自己的主屏幕上,以实现个性化和便捷的操作。在Android系统中,小部件是一种可以直接在桌面显示并交互的功能组件,...
在Android平台上,WidgetTest是一个典型的桌面小部件(Widget)的示例应用,它展示了如何创建、配置和在用户的主屏幕上实现一个互动的Android小部件。让我们深入探讨一下这个实例涉及的关键知识点。 首先,理解...
AppWidget是Android系统提供的一种组件,它允许开发者在用户的主屏幕上创建自定义的小部件,无需用户启动应用程序。这种功能极大地增强了用户体验,使用户能够快速访问或控制应用的功能,而无需打开应用本身。本文将...
5. **Widget配置Activity**: 可选地,你可以为App Widget提供一个配置Activity,让用户在添加Widget时进行个性化设置。 6. **更新机制**: 使用`AppWidgetManager`的`updateAppWidget()`方法定期或根据需要更新...
在Android平台上,AppWidget是小部件的简称,它允许开发者创建可以放置在用户主屏幕上的小型应用程序。在本例中,我们关注的是一个特定类型的AppWidget,它显示时间并每秒更新一次。创建这样一个实时更新的时钟App...
6. **添加Widget到应用**: 用户可以通过长按主屏幕,选择添加Widget,然后在列表中找到你的应用来添加Widget。在应用内部,你可以提供一个引导用户添加Widget的入口,比如一个Button,点击后调用`Intent`来启动`...
在Android平台上,开发一款桌面音乐播放器Widget是一个有趣且实用的实践项目。本文将深入解析如何利用Android的App Widget API创建一个能够在用户桌面运行并控制音乐播放的应用组件。通过源码分析,我们可以学习到...
Android Widget是Android系统提供的一种特性,允许开发者将小型应用程序视图集成到用户的Home screen(桌面主屏)上,为用户提供便捷的信息查看和交互功能。Widget并非独立运行在一个进程中,而是依附于宿主进程,...
Android小部件(Widgets)是Android操作系统提供的一种特性,允许开发者在用户的主屏幕上创建交互式的UI元素,用户无需打开应用程序即可获取信息或执行简单的操作。这篇教程将带你深入了解Android小部件的开发过程,...
Android AppWidget是Android系统提供的一种桌面小部件功能,它允许开发者创建可以被用户直接放置在主屏幕上的小型应用程序,提供快捷的功能或者展示实时信息。在本文中,我们将深入探讨AppWidget的基本概念、工作...
1. ActionButtons:在Android 4.2及以上版本,Widget支持添加自定义操作按钮,通过AppWidgetProviderInfo的addAction()方法设置。 2. IntentService:处理Widget请求时,推荐使用IntentService,避免阻塞主线程,...
在Android平台上,AppWidget是应用程序可以提供的一种桌面小部件,让用户在主屏幕上获得快速的交互体验,无需打开完整的应用程序。这个“Android高级应用源码-Android小部件AppWidget.zip”包含了一个关于如何创建和...
Android AppWidget是Android操作系统提供的一种服务,允许开发者创建可以在用户主屏幕上显示的小应用程序,通常称为桌面小工具。这些小工具不需用户启动,可以实时显示信息,为用户提供快速访问应用功能或查看信息的...
在Android系统中,AppWidget是桌面小部件的实现方式,它允许开发者将应用程序的功能和信息直接集成到用户的主屏幕上,用户无需打开应用就能与之交互。AppWidget虽然看似简单,但其实涉及到了许多核心的Android组件和...
在安卓平台上,AppWidget是Android系统提供的一种轻量级组件,允许开发者在用户的主屏幕上创建交互式的迷你应用程序,也就是我们通常所说的桌面小部件。这个压缩包"安卓Android源码——安卓Android小部件AppWidget....
在这个图像浏览器中,主要用到的Widget可能是QLabel,因为QLabel可以显示图像,并且可以利用其方法来实现图片的缩放功能。 QLabel控件默认不支持直接缩放图片,但可以通过设置其QPixmap对象的大小或者使用QGraphics...