gpt4 book ai didi

android - appwidget appWidgetIds 的问题(小部件的真实实例和虚拟实例)

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

同学们!我的问题是:我有一个带有配置 Activity 的应用程序小部件(最低 SDK - 2.1), 它工作正常,但有时它开始工作得更慢。我登录并发现之前 更新我的 App Widget 方法 onUpdate 收到一组 App Widget ID

  @Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
Log.d("onUpdate", Arrays.toString(appWidgetIds));

但事实是我在主屏幕上只有两个 App Widget 实例,但数组的长度多则2(二):4,有时5、6。怎么会这样呢?我的 AppWidget 更新缓慢的原因是我必须为所有 id 调用 onUpdate-method 但有些 id(正如有人所说的“幻影小部件”)不是真实正确。

也许有人遇到过这样的问题,会帮我弄清楚如何处理真正的应用小部件 ID。

附言卸载然后重新安装应用程序小部件(之后所有的幽灵小部件都消失了) - 不是正确解决我的问题。我想以编程方式控制 ghost 和 real 小部件。

有人知道如何修复这个错误吗?

最佳答案

此代码将删除小部件(所有小部件,甚至是屏幕上的小部件),因此不是理想的解决方案

ComponentName cn = new ComponentName(getApplicationContext(), YourWidget.class);
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(getApplicationContext());
int[] appWidgetIds1 = appWidgetManager.getAppWidgetIds(cn);
AppWidgetHost host = new AppWidgetHost(getApplicationContext(), 0);
for (int appWidgetId : appWidgetIds1) {
host.deleteAppWidgetId(appWidgetId);
}

在 4.2 上删除锁屏小部件时仍然存在问题(从未调用过 onReceive)

关于android - appwidget appWidgetIds 的问题(小部件的真实实例和虚拟实例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13471067/

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