草庐IT

appWidgets

全部标签

android - 升级/重新安装应用程序后如何更新 Android AppWidget?

我创建了一个应用程序(https://play.google.com/store/apps/details?id=com.widget.analytics),它使用AppWidget在Android主屏幕上显示一个人的GoogleAnalytics统计信息。不幸的是,在将应用程序升级到新版本后,用户需要删除他们之前创建的所有小部件,并且必须重新安装它们。这很烦人。然而,我相信有办法解决。应用升级后,小部件不会被销毁,它们只是处于从布局继承的“默认”状态。我可以使用四个小部件回调中的任何一个来更新小部件吗?是否有我可以采取行动并更新小部件的升级后回调? 最佳答

Android AppWidget onUpdate 开机

启动时是否调用了onUpdateAppWidget?我在onUpdate中设置了一个警报,我想知道onUpdate是否会在启动时被调用,或者我应该使用BOOT_COMPLETEDIntent。谢谢。 最佳答案 我没有在文档中找到与此相关的任何内容,所以我只是对其进行了测试。我在我的小部件的onUpdate()方法中设置了一个Toast,以查看它何时被触发。重启设备后它得到触发,所以我假设你不需要使用BOOT_COMPLETEDIntent,但有时你不能确定足够(没有什么反对继续使用它)。编辑:onUpdate()确实会在启动时被调用

java - Android - 多个 appWidgets 播放不同的声音

我正在编写一个android音板,它允许用户创建多个桌面小部件,每个声音一个。我正在使用一个Activity让用户选择他想要为其创建小部件的声音。对于创建的每个小部件,我以的形式存储共享首选项key=>"WIDGET_FILENAME_"+widgetId,value=>fileName为了播放声音,我重写了widgetProvider类的onRecieve方法。单击桌面小部件时,它会触发对此方法的广播,该方法从Intent中获取小部件ID,然后加载与小部件关联的共享首选项:intappWidgetId=intent.getIntExtra(AppWidgetManager.EXTRA

android - 如何以编程方式禁用 Android AppWidget 按钮上的 onClick 处理程序

我在appwidget上有一个按钮,我需要通过服务以编程方式“启用”/“禁用”。第一个想法是调用setBoolean(R.id.buttonid,"setClickable",false)来禁用它,但显然您不能远程调用setClickable。另一个想法是使用rv.setTextViewText(R.id.buttonid,"")从中删除文本标签,然后通过rv.setOnClickPendingIntent(R.id.buttonid,null).不幸的是,将null传递给它会导致android.app.ActivityThread.handleServiceArgs中的NullPoi

android - 计算appwidget的高度

我无法通过谷歌搜索这个问题来找出或找到解决方案。我有一个带有appwidget的android应用程序,看起来像http://www.livescorewidget.eu/img/screendumps/widget.png,我正在动态添加数据行。由于不同的设备,小部件的高度不同,因此我的行可用的空间量也不同。我想知道我的小部件使用了多少倾角或像素,以便我可以计算出有多少行有空间。可能吗?如果您可以计算布局中行的可用高度,那就更好了。谢谢 最佳答案 从JellyBean开始,您可以使用AppWidgetManager中的getApp

android - 在 AppWidget 的情况下重用布局

我的AppWidget有几个非常相似的布局,实际上不同之处仅在于TextView之一的旋转元素(我根据屏幕方向选择合适的布局)。因此,与其多次重复相同的内容(我讨厌重复),我想我会尝试在Re-usingLayoutswith之前整理一下。.当我试图通过ID引用布局的特定元素时,问题就来了。在元素位于包含的布局xml中的位置,对于非-AppWidget布局,我使用了描述的方法here,其中使用了两层方法...在“父”布局中:在代码中:TextViewtv=(TextView)findViewById(R.id.textview_layout).findViewById(R.id.text

android - 如何正确更新AppWidget?

我是android新手,我在更新应用程序小部件时遇到问题。这是一个新闻小部件,每20秒显示不同的文本。当小部件初始化时,让文本正确切换和显示没有问题。但是,在每30分钟更新一次小部件后,我的widgetIDint数组会保留更新之前存在的int。因此,每次更新后,小部件都会显示旧数据和新数据。在更新过程中是否有清除旧数据的小部件IDint数组。非常感谢任何帮助。我的代码:allWidgetIds2=appWidgetManager.getAppWidgetIds(thisWidget);在小部件中切换文本的方法。这最初工作正常,但更新后显示旧数据和新数据......publicvoidu

android - 适用于所有屏幕尺寸的 Appwidget 最大宽度

我目前正在开发一个应用程序小部件,不幸的是它不适合屏幕尺寸更大的手机。如何确保应用小部件对于所有类型的手机都具有全宽?起初我认为这可以通过使用width="fill_parent"来完成,但它不起作用..小部件没有填充手机的宽度(我不确定它是否是基于xml文件夹下的minWidth)我也试过添加layout-sw480dp,layout-sw600dp,layout-sw720dp但它仍然不起作用...appwidget不会填满手机的整个宽度..非常感谢任何帮助! 最佳答案 AppWidget的大小四舍五入到最近的网格大小,因此将m

android - 在 AppWidget 的 RemoteViewsFactory 中的 onCreated() 之后依赖对 onDataSetChanged() 的调用是否安全

我根据android文档开发了我的AppWidget,在onCreate()中加载我的光标并在onDataSetChanged()中重新加载它,并且一切正常,直到我在RemoteViewsService.RemoteViewsFactory中设置了一些断点并且令人惊讶地发现onDataSetChanged()总是在调用onCreate()之后调用,这使得我的光标在第一次创建时加载了两次。我使用的是Android4.4.3。根据Apidoc,publicabstractvoidonDataSetChanged()AddedinAPIlevel11CalledwhennotifyDataS

android - 将整数数组从 AppWidget 传递到预先存在的 RemoteViewsService 以由 RemoteViewsFactory 呈现

我有一个AppWidget,其中包含一个StackView。除了AppWidget,我还有一项服务,当用户将我的AppWidget添加到他们的主屏幕时启动,该服务每两小时轮询一次新数据。当服务找到新数据时,我需要它提醒我的AppWidget,并将该数据传递给RemoteViewsService(它有我的RemoteViewsFactory),以便它可以为新数据创建必要的View。目前,当服务找到新数据时,我让它向我的AppWidget广播已找到新数据,并将该数据作为Intent中的整数数组传递。我的AppWidgetProvider中的onReceive方法提取了该数据,然后我完成了设