【问题标题】:How to prevent an android widget from executing android.appwidget.action.APPWIDGET_UPDATE如何防止 android 小部件执行 android.appwidget.action.APPWIDGET_UPDATE
【发布时间】:2013-09-06 02:19:15
【问题描述】:

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

当我单击小部件时,我的代码运行并且一切正常!但是,在单击我的小部件几秒钟后,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 也被广播了。如果我对这个广播不做任何事情,我的小部件是空的。所以现在我所做的只是在每次发送更新广播时重新更新小部件(这很烦人)。

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

谢谢!

【问题讨论】:

    标签: android widget broadcast


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-13
      相关资源
      最近更新 更多