gpt4 book ai didi

android appwidget 不会从 Activity 中更新

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:34 26 4
gpt4 key购买 nike

我有一个简单的应用程序小部件,我想在 Activity 中(在同一个应用程序中)发生操作时更新它。在 onUpdate() 中,我立即更新小部件,效果很好。在我的 Activity 中,我在我的 appwidget 中调用了在 onUpdate() 中调用的相同静态更新方法来更新 View 。小部件未更新。

我可以将代码直接跟踪到 AppWidgetManager.updateAppWidget() 方法中,这一切都很好,但是小部件不会更新。

我能看到的唯一可能的区别是传递到我的静态更新方法的上下文对象是不同的,当它从 Activity 的上下文调用时与从 appwidget 的 onUpdate() 方法的上下文调用时。但是,网络上有很多这样的例子,所以我希望它能起作用。

最佳答案

在没有看到您的代码的情况下,我不能 100% 确定您是如何尝试做到这一点的,但这是我使用的方法。在我的 Activity 中,我有以下方法:

private void updateAllWidgets(){
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(getApplicationContext());
int[] appWidgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(this, MyWidget.class));
if (appWidgetIds.length > 0) {
new MyWidget().onUpdate(this, appWidgetManager, appWidgetIds);
}
}

其中 MyWidget 是 appwidget 的类。我可以从我的 Activity 中的任何地方调用这个方法来更新我所有的应用程序小部件。

关于android appwidget 不会从 Activity 中更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4424723/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com