1

我的应用程序有一个 1*4 图标大小的小部件。当用户尝试添加一个小部件时,我提供了一个配置屏幕。并且收集了一些数据 - 它由服务器验证 - 它以 appWidgetID 作为键添加到本地数据库 - 一切都很好。

当用户点击保存时,如果没有足够的空间,他会得到礼貌的祝酒词——“这个主屏幕上没有更多空间了”。

现在我的问题是应用程序没有被告知这一点。应用程序仍然假定小部件已创建并坐下来等待广播在一定时间后更新小部件。

谁能告诉我是否可以通过广播或回调或任何可能的方法来确定小部件是否未成功创建,以便我可以将数据库中的该记录标记为已删除。

或者如果我可以通过一些魔法忍者代码事先知道可用空间,那就更好了。

由于这个问题,我的整个应用程序设计都受到了干扰。请帮忙。

4

3 回答 3

2

这已在 1.6 或 2.0 中修复。

于 2009-12-30T23:09:05.023 回答
0

您是否检查过onDeleted()AppWidgetProvider这种情况下是否被调用?我还没有尝试过,但我希望这会奏效。

如果这没有被调用,您可以尝试onDisabled(),但只有在当时主屏幕上没有您的应用小部件的其他副本时,这才有效。

于 2009-12-30T11:59:46.447 回答
0

我相信这是当前操作系统中的一个错误,如果屏幕上的小部件没有足够的空间,则永远不会调用 onDeleted() 方法。我知道我至少在 Android 1.5 版中已经看到了这一点。没有我知道的修复方法。

于 2009-12-30T19:25:50.687 回答