gpt4 book ai didi

android - Appwidget ID 但没有小部件

转载 作者:太空狗 更新时间:2023-10-29 14:31:14 25 4
gpt4 key购买 nike

我目前正在为我的应用程序创建一些应用程序小部件;其中之一是一个包含时钟的小部件,需要每 60 秒更新一次。因此,我在 AppWidgetProvider 的 onEnabled() 函数中创建了一个警报,它每 60 秒发送一次时钟更新 Intent ,由 appwidgetprovider 接收;这就像一个魅力,但是我喜欢在没有更多时钟小部件时摆脱计时器,因为我喜欢保持整洁。因此,我删除了 AppWidgetProvider 的 onDisabled() 函数中的警报,因为当最后一个小部件类型被删除时会调用该警报。

但是问题是,即使我删除了最后一个小部件,appwidgetmanager 中仍然有 widgetId,因此永远不会调用 onDisabled()。我尝试重新启动设备,但它们似乎仍然存在。

这是常见行为吗?我不应该依赖 onDisabled() 被调用吗?这是一个错误,还是我做错了什么?

最佳答案

无法添加到主屏幕的 Android 1.6 及以下小部件仍在列表中。我称它们为“幻影小部件”。当您尝试添加一个小部件但没有足够的空间时,它们就会被创建,您会收到一条消息。但是这个小部件仍然以某种方式进入了内部列表。我认为这应该在 2.0 中得到修复,但我不确定。

除此之外, onEnabled 和 onDisabled 对您的目的来说是一个非常糟糕的主意。即使屏幕关闭,您的小部件也会继续更新。您的设备永远不会真正进入休眠状态,电池电量会消耗得太快。至少为 ScreenOn 和 ScreenOff 添加一个接收器!

关于android - Appwidget ID 但没有小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6611262/

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