Android 小部件 onUpdate() 问题

发布于 2024-11-08 05:32:08 字数 349 浏览 0 评论 0原文

我的应用程序中有一个小部件,每次我安装/删除/更新第三个时,它都会搞砸(它的资源之一,一个计数器,只有大于 0 时才可见,并且它不再对按下做出反应)派对应用程序,因为 onUpdate() 方法可能被调用,并且我编写的代码未正确执行。

可以肯定的是,AppWidgetManager 对以下意图做出反应:

android.intent.action.PACKAGE_ADDED
android.intent.action.PACKAGE_REMOVED
android.intent.action.PACKAGE_RESTARTED

但是如何使小部件不对此类意图做出反应,它甚至没有在清单中注册它们?

I have a widget in my app and it gets screwed up (one of it's resources, a counter, has to be visible only if greater than 0 and it does not react anymore to a press) every time I install/remove/update a 3rd party app because the onUpdate() method probably gets called and the code I have written is not executed properly.

It is certain that the AppWidgetManager reacts to the following intents:

android.intent.action.PACKAGE_ADDED
android.intent.action.PACKAGE_REMOVED
android.intent.action.PACKAGE_RESTARTED

But how can I make the widget not react to such intents, it is not even registered for them in the manifest?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

淡淡的优雅 2024-11-15 05:32:08

尝试将这些操作添加到清单中..并避免在 onReceive 方法中对它们做出反应,这在某种程度上是微不足道的解决方案,但它会做!

try adding those actions to the manifest .. and avoid reacting to them in the onReceive method, it's somehow trivial solution but it will do !

成熟的代价 2024-11-15 05:32:08

您是否尝试过重写 onReceive 方法并检查意图?我提供了一个简单的例子。

if(intent.getAction().compareTo("android.intent.action.PACKAGE_ADDED") != 0) { 
    //do something cool;
}

这应该允许您检查传入的意图并过滤掉您不想要的内容

Have you tried overriding the onReceive method and check for the intent? I have provided a quick example.

if(intent.getAction().compareTo("android.intent.action.PACKAGE_ADDED") != 0) { 
    //do something cool;
}

This should allow you to check the incoming intent and filter out what you don't want

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文