【问题标题】:Android Broadcast Receiver in Widget小部件中的 Android 广播接收器
【发布时间】:2011-05-31 00:30:08
【问题描述】:

是否可以从小部件中注册广播接收器?我尝试了几种方法,注册似乎可以工作,但是当事件发生时,小部件永远不会被回调。

【问题讨论】:

    标签: android broadcastreceiver


    【解决方案1】:

    是否可以从小部件中注册广播接收器?

    不,对不起。无论您试图以这种方式解决什么问题,都可以更好地解决或不应该解决。

    【讨论】:

    • 如果我需要一个接收广播的小部件(必须在代码中注册的那种,而不是在清单中).. 我必须使用服务吗?
    【解决方案2】:

    小部件基本上是一个广播接收器,因此如果您愿意,可以在小部件的 AppManifest.xml 中静态定义意图过滤器,并在小部件的 onReceive() 方法中处理广播意图,如下所示:

    android update widget from broadcast receiver

    【讨论】:

      【解决方案3】:

      是的,例如:http://madandroid.blogspot.com/2011/05/registering-broadcast-receiver-from.html

      请注意,事件发生时将调用 BroadcastReceiver 而不是小部件。

      【讨论】:

      • @metalideath:这完全不可靠。在onUpdate() 方法返回后,Android 将随时终止您的进程,导致BroadcastReceiverApplication 都消失。
      • 这可以解释我所看到的一些奇怪行为。