【问题标题】:How to remove widget when the app is uninstalled in Android? [duplicate]在Android中卸载应用程序时如何删除小部件? [复制]
【发布时间】:2011-03-24 04:44:52
【问题描述】:

可能重复:
Removing Widget from Home Screen when Uninstalled

在 Android 中,我为我的应用程序创建了一个小部件。当我卸载应用程序时,小部件在主屏幕中显示“加载小部件时出现问题”错误。我需要一个场景,当我卸载应用程序时,开发人员应该通过代码(而不是通过拖放到垃圾箱)删除小部件。可能吗?如果是这样,我们需要做哪些改变?是否可以在清单中设置任何内容,以便在卸载后删除应用程序的所有引用?

【问题讨论】:

  • 有关于这个主题的消息吗? :)

标签: android widget uninstallation


【解决方案1】:

卸载您的应用时无法控制。我认为 Android 2.2 可能会更好地自动摆脱您的应用小部件。

【讨论】:

  • 卸载我的应用程序后是否无法删除我的小部件?操作系统不应该处理吗?
  • @Janusz:“操作系统不应该处理吗?” -- 是的,这就是为什么我写了“我认为 Android 2.2 可能会更好地自动摆脱你的应用小部件。”
  • 不,遗憾的是它没有。 3.0 中宣布的小部件有改进,也许我们必须等到那时。
【解决方案2】:

嗨! 当您删除应用程序小部件主机管理器应广播以下意图之一... ACTION_APPWIDGET_UPDATE ACTION_APPWIDGET_DELETED ACTION_APPWIDGET_ENABLED ACTION_APPWIDGET_DISABLED

为了利用这一点,在您的 appwidget 提供程序类(或您的广播接收器的自定义扩展)中接收广播(或在 appwidgetprovider 类中使用 onDeleted())并从应用程序小部件主机管理器中删除具有 id 的小部件你的小部件....

希望这会有所帮助...

【讨论】:

  • 你真的试过这个吗?删除应用程序时不会发送您列出的消息。具体来说,AppWidgetProvider 中的 onDeleted() 仅在 Widget 被移除时调用,而不是整个应用程序。
  • 嘿,卡尔,是的,我试过了。此外,我使用 androids 开发网站作为我评论的参考。我会在某个时候再试一次,因为我写这篇评论已经快一年了。会让你知道的。
  • 如果 app 被卸载,则不会发送这些广播。具体来说,ACTION_APPWIDGET_DELETED is sent when a widget is deleted from the home screen.
猜你喜欢
  • 2011-06-26
  • 1970-01-01
  • 1970-01-01
  • 2017-04-21
  • 1970-01-01
  • 1970-01-01
  • 2012-10-22
  • 1970-01-01
  • 2012-02-28
相关资源
最近更新 更多