从程序内更新 AppWidget?

发布于 2024-09-14 18:15:03 字数 345 浏览 1 评论 0原文

当我的主要活动暂停时,我需要更新我的 AppWidget。我尝试在我的主要活动的 onPause() 中使用以下代码:

super.onPause();
AppWidgetManager manager = AppWidgetManager.getInstance(this);
int[] a = manager.getAppWidgetIds(new ComponentName(this, "WidgetProvider"));
new WidgetProvider().onUpdate(this, manager, a);

但是,当我调用此代码时,a 为空。我做错了什么?

I need to update my AppWidget when my main activity pauses. I tried using the following code in my main activity's onPause():

super.onPause();
AppWidgetManager manager = AppWidgetManager.getInstance(this);
int[] a = manager.getAppWidgetIds(new ComponentName(this, "WidgetProvider"));
new WidgetProvider().onUpdate(this, manager, a);

When I call this code, however, a is empty. What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

天邊彩虹 2024-09-21 18:15:04

我使用此代码来更新我的 AppWidget:

AppWidgetManager manager = AppWidgetManager.getInstance(this);
int[] a = manager.getAppWidgetIds(new ComponentName("my.pkg", "WidgetProvider"));
List<AppWidgetProviderInfo> b = manager.getInstalledProviders();
for (AppWidgetProviderInfo i : b) {
    if (i.provider.getPackageName().endsWith("pkg")) {
        a = manager.getAppWidgetIds(i.provider);
    }
}
new WidgetProvider().onUpdate(this, manager, a);

I use this code to update my AppWidget:

AppWidgetManager manager = AppWidgetManager.getInstance(this);
int[] a = manager.getAppWidgetIds(new ComponentName("my.pkg", "WidgetProvider"));
List<AppWidgetProviderInfo> b = manager.getInstalledProviders();
for (AppWidgetProviderInfo i : b) {
    if (i.provider.getPackageName().endsWith("pkg")) {
        a = manager.getAppWidgetIds(i.provider);
    }
}
new WidgetProvider().onUpdate(this, manager, a);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文