Java 非类BroadcastReceiver的显式意图

Java 非类BroadcastReceiver的显式意图,java,android,android-intent,broadcastreceiver,Java,Android,Android Intent,Broadcastreceiver,我有一个服务,我想更新活动显示屏上的数字。我已经设置了一个明确的意图,如果活动未运行,我将使用该意图启动活动,并且我已将广播接收器添加到我的活动中,格式如下: public BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Log.d(LOG

我有一个服务,我想更新活动显示屏上的数字。我已经设置了一个明确的意图,如果活动未运行,我将使用该意图启动活动,并且我已将广播接收器添加到我的活动中,格式如下:

    public BroadcastReceiver mReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Log.d(LOG_NAME, "Received broadcast");
        }
   };
但它从未收到任何广播。我怀疑这是因为我的明确意图是MyClass.class,它本身不是接收者,而不是实际的接收者,它是一个成员。
有没有人对这是否可能有明确的意图提出建议?我可以使用隐式意图,但这似乎有点浪费,因为这只适用于特定的类。

这就是它不起作用的方式。您应该将您的BroadcastReceiver作为一个单独的类。

我认为您可以使用一个单独的BroadcastReceiver来接收显式广播并更新共享首选项,并且您的活动包含一个onSharedPreferenceChangeListener,这将更新活动。

如何让它更新活动gui中的值?这将是一种非常简洁的方法。同时,我在没有明确意图的情况下做了这件事,我很可能会改用你在这里建议的方式。