0

我成功编写了一个小部件,它按我想要的方式工作。我只是想在用户单击小部件时做一些事情,我正在更新小部件内的图像。

当我单击小部件时,我的代码运行并且一切正常!但是,在单击我的小部件几秒钟后,android.appwidget.action.APPWIDGET_UPDATE就会运行广播。

onReceive()用来做我所有的事情。这是我的待定意图:

Intent intent = new Intent(context, Widget.class);
    intent.setAction("CLICKED_WIDGET");
    PendingIntent pIntent = PendingIntent.getBroadcast(context, 0, intent, 0);

我使用自定义广播字符串来表示我正在单击小部件。这完美地工作。然而,几秒钟后,android.appwidget.action.APPWIDGET_UPDATE也被广播了。如果我对这个广播不做任何事情,我的小部件是空的。所以现在我所做的只是在每次发送更新广播时重新更新小部件(这很烦人)。

我要问的是,我如何才能阻止发送更新广播,并且仅在用户单击小部件时才更新我的小部件,而不是任何其他时间。

谢谢!

4

1 回答 1

0

好的,所以这确实不是我的问题的确切答案,因为它不可能不接收 APPWIDGET_UPDATE 广播。但是我发现是什么导致更新广播被发送,在我的 onClick 接收器中,我正在更改接收器的组件启用设置,并且由于某种原因发送了更新广播。所以我只是将我的组件启用选项更改为我的设置活动,现在它可以完美运行。感谢大家观看!

于 2013-09-07T23:27:37.647 回答