gpt4 book ai didi

android - 应用小部件 : instance don't be shown after config activity is finished on some devices

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

在主屏幕上添加新的 appwidget 实例时,我在某些设备上遇到了奇怪的行为。

我有带有配置 Activity 的 AppWidget 应用程序。正如我必须自己做的appwidget教程更新中所说的。

    public static void updateWidgetAndSendIntent (Activity activity, int mAppWidgetId, boolean isUpdate) {
updateWidgets(activity);
if (!isUpdate) {
Intent resultIntent = new Intent();
resultIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mAppWidgetId);
activity.setResult(Activity.RESULT_OK, resultIntent);
activity.finish();
}
}

public static void updateWidgets(Context context) {
new ManagerUpdateWidget(context).updateAllWidgetInstances();
}

ManagerUpdateWidget.java

    public void updateAllWidgetInstances() {

Bitmap widget = getCustomView(context);

for (int widgetId : appWidgetIds) {
updateCurrentInstance(widgetId, widget);
}
}

事实是,在装有 Android 4.4.2 的三星 Galaxy Note 2 (GT-N7100) 上,一切正常,但在装有 Android 5.0 的三星 Galaxy Note 3 (SM-N900) 上,我有“幻影”appwidget,而不是主屏幕上的真实 appawidget 但当您在屏幕上看不到 appwidget 但在您的应用程序 appwidget 中存在 ID 和定期更新时,“幻影”。我已经在 genymotion 模拟器(Android 4.3 和 5.0)上测试了我的应用程序,但也一切正常。

请建议我如何修复这个奇怪的错误。

最佳答案

处理“幻影”小部件是一场噩梦。您可以使用 updateAppWidget(ComponentName 提供程序,RemoteViews View ) 更新所有实例吗?
根据文档,此方法将设置 RemoteViews 以用于提供的 AppWidget 提供程序的所有 AppWidget 实例。

AppWidgetManager manager = AppWidgetManager.getInstance(context);
ComponentName component = new ComponentName(context, MyAppWidgetProvider.class);
manager.updateAppWidget(component, remoteViews);

关于android - 应用小部件 : instance don't be shown after config activity is finished on some devices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32966184/

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