问题标签 [appwidgetprovider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
225 浏览

android - 无法更改默认的 AppWidget 图标

我的应用程序中有一个 AppWidget,但我无法让它在小部件抽屉中更改其图标。

我在 AndroidManifest 中设置了图标

并在 appwidget-provider 中设置 PreviewImage:

但图标仍然是默认的蓝色矩形,上面写着“EXAMPLE”。我错过了什么?

0 投票
1 回答
894 浏览

android - 以编程方式更改 android:updatePeriodMillis

好的,所以我做了一些研究,共识似乎是你不能以android:updatePeriodMillis编程方式更新。

看来你必须AlarmManager改用,这似乎是用大锤来破解坚果......奇怪的是 API 不只是让你更新 core updatePeriodMillis

依赖网络上的内容总是有轻微的风险,因为 API 趋于发展,旧的答案不再相关。

所以我只是在检查是否仍然如此。例如, http: //developer.android.com/guide/topics/appwidgets/index.html上的指南至少暗示可以更改AppWidgetProvider. 讨论updatePeriodMillis时说:

“您还可以允许用户在配置中调整频率——有些人可能希望股票代码每 15 分钟更新一次,或者每天只更新四次。”

然后继续谈论使用AlarmManager,但显然仅与避免唤醒设备有关,而不是与更改更新周期有关。

感谢您对此的任何帮助。

0 投票
0 回答
767 浏览

android - android AppWidget 未添加到 Lollipop 的主屏幕

我开发了一个在主屏幕小部件上显示新闻提要的应用程序。由于以下情况,在棒棒糖之前的 android 设备上一切正常:

  • 用户进入其启动器的小部件屏幕以选择/添加特定小部件
  • 用户单击 MyNewsWidget 以添加到他们的主屏幕
  • 调用配置活动,以便用户可以从不同的新闻源中进行选择
  • 用户单击配置活动中的“保存”按钮,然后活动应该完成并且 MyNewsWidget 应该被添加到他们的主屏幕。

我正在 LG Nexus 5 设备上测试我的应用程序,但是当我在配置活动完成后单击以将我的小部件添加到主屏幕时,该小部件未添加到主屏幕。

这是我在 Configuration 活动中的 Intent 代码:

此外,这是我的 WidgetProvider 类中的代码:

遗憾的是,之前的场景不适用于 android Lollipop(5.0 及更高版本)。任何好的帮助将不胜感激。

0 投票
3 回答
1855 浏览

android - appWidget 仅在棒棒糖设备的启动器小部件列表中不显示

我有一个适用于 android 的应用程序,在 lollipop 之前我已经为它制作了一个 appwidget,由于某些原因,该小部件没有出现在棒棒糖中。但是,它出现在棒棒糖之前的设备中。

这是我的代码:

AndroidManifest.xml

新闻信息.xml

NewsWidgetProvider.java

}

该代码在 (kitkat,jelly...) 中有效,但在棒棒糖中无效

我错过了什么吗?

0 投票
1 回答
1014 浏览

android - appwidget 冻结并拒绝再更新:忽略 updateAppWidget

所以我有一个很好刷新的应用程序小部件,将一个新的位图加载到一个ImageView像发条一样的规则中。然后,在某个时候,它会默默地停止更新。我可以从日志和我的代码正在查询的服务器上的活动中看出,小部件实际上仍在继续定期触发(通过 捕获的广播onReceive(),并按预期执行其工作。唯一没有发生的事情是小部件内容没有更新。

因此,在小部件触发时执行的代码中,我正在创建一个新的 RemoteViews 并向其添加内容,包括通过 加载新位图remoteViews.setImageViewBitmap(imageViewID, bmp),然后最后调用appWidgetManager.updateAppWidget(appWidgetId, remoteViews)以更新小部件内容。工作得很好......直到它停止工作。

我不确定要发布什么代码,因为这件事在 99% 的时间里都可以正常工作,但偶尔会updateAppWidget()停止工作,没有明显的原因。似乎这是一个系统问题,而不是我的代码中的错误,但我可能是错的。

唯一可能提示出现这种情况的是连接发生变化时,例如从无信号变为 WiFi,可能会频繁发生此类变化。在这些情况下似乎发生得更多。

一旦小部件冻结,唯一解冻它的就是重新启动设备。如果不重新启动,即使删除小部件并添加新小部件也不起作用。事实上,添加一个新的小部件会导致一个死小部件,它甚至不响应点击打开配置活动,大概是因为像我仔细构造和发送到remoteViews.setOnClickPendingIntent(R.id.widget, configPendingIntent)的其他所有内容一样被忽略。RemoteViewsappWidgetManager.updateAppWidget()

它似乎与这里许多其他人所描述的差不多:

https://code.google.com/p/android/issues/detail?id=28216

到目前为止,似乎还没有已知的治疗方法。https://code.google.com/p/android/issues/detail?id=28216#c56上的帖子似乎提供了一些承诺,但我尝试过AppWidgetHost.startListening()在各个地方打电话,包括通过重复警报定期打电话看看我是否可以启动小部件,但似乎没有任何效果。

其他用户(而不是开发人员)似乎也看到了这个问题:http ://androidforums.com/threads/clock-widget-keeps-freezing-please-help.530333/

有任何想法吗?它正在慢慢让我发疯!

0 投票
0 回答
905 浏览

android - Android AppWidgetProvider:如何解释最小/最大宽度/高度

我目前正在尝试创建一个最初为 4x1 单元格的 Android AppWidget,但可以由用户垂直调整大小。我创建了一个扩展 AppWidgetProvider 的类,并覆盖了 onAppWidgetOptionsChanged() 方法,以在用户调整 AppWidget 大小时检查 AppWidgets 的最小和最大宽度和高度:

但是,我不确定如何解释这些宽度和高度。从我最初的 4x1 AppWidget 中,我的方法的输出是:

然后,如果我将 AppWidget 调整为 4x2,我的方法的输出是:

同样,如果我将 AppWidget 调整为 4x3,我的方法的输出是:

通过阅读App Widget Design Guidelines,我无法弄清楚这些数字对应于什么。

所以我的问题是:我如何解释这四个值?它们具体对应的是什么?

0 投票
0 回答
505 浏览

android - ViewStub 在 App 小部件中不起作用

下面是我尝试在应用小部件的小部件布局中使用的视图存根。

问题是,当我将其添加到小部件布局时,小部件 UI 会丢失,并且在小部件的位置显示“问题加载小部件”消息。

但是当我在活动布局中使用相同的视图存根时,它的工作非常好。

关于这个问题的任何建议或帮助。

提前致谢

0 投票
2 回答
1605 浏览

android - 小部件未出现在小部件列表中

我在stackoverflow上阅读了几个关于这个的问题,但没有一个答案能解决我的问题。

我正在尝试向我的应用添加主屏幕小部件,但我的小部件未出现在 Android 的小部件列表中。

我试过重启设备,重新安装应用程序,更改配置文件中的参数,确保应用程序没有安装在 SD 卡上。没有任何工作。

这是我目前拥有的代码:

在 AndroidManifest.xml 的应用程序标签内:

在 /res/xml/gulp_widget_info.xml 里面:

在 /res/layout/layout_widget.xml 里面:

在 /java/info/andrewdahm/gulp/GulpWidgetProvider.java 里面:

任何想法为什么我的小部件没有出现在小部件列表中?

0 投票
2 回答
3943 浏览

android - Android小部件在一段时间后停止工作?

我有一个带有小部件的手电筒应用程序。该小部件用于打开和关闭手电筒,不显示主要活动或任何内容。然而,几个小时后,小部件什么也不做。我的意思是如果你点击它,什么都不会发生。我有两个来完成这个 aProvider和 a Receiver

Provider:

Receiver:

Setup:

更新:减少更新间隔会使小部件更频繁地刷新,所以如果它被卡住,它会在 30 分钟后再次工作,然后它可能会在某个时候再次冻结。

更新 2:更改日期会立即冻结小部件,直到它被刷新。

更新 3:更改日期会以某种方式重新启动启动器,并且每当启动器重新启动时,小部件都会冻结 30 分钟。

0 投票
2 回答
1569 浏览

android - 将 TimerTask 和 Timer 与 Widget AppWidgetProvider 一起使用

我正在使用 Android 创建一个时钟小部件。我已经测试了时钟,逻辑似乎很好,但我需要让它每分钟更新一次。

我在我的 XML 中将 updatePeriodMillis 设置为 60000,但 Android 将其限制为 30 分钟,因此它仅每半小时更新一次。

我做了一些研究,除了我调用的方法需要通过 onUpdate() 方法传递给它的 AppWidgetManager 和 AppWidgetId 之外,Service 或 AlarmManager 可能有效。

我尝试了两种(类似)方法来使分钟更新正常工作:

和:

很感谢任何形式的帮助。

谢谢。

编辑:在我调试和发布这篇文章的时间里,我最终将应用程序安装了半个小时。首次调用 onUpdate() 半小时后,计时器似乎已启动,但在最初的 30 分钟内仍无法正常工作。