使用非类BroadcastReceiver的显式意图

时间:2011-01-29 12:43:02

标签: java android android-intent broadcastreceiver

我有一项服务,我想更新活动显示屏上的数字。我已经设置了明确的意图,如果它没有运行我用它来启动活动,并且我已经在我的活动中添加了一个广播接收器:

    public BroadcastReceiver mReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Log.d(LOG_NAME, "Received broadcast");
        }
   };

但它从未收到任何广播。我怀疑这是因为我的明确意图是MyClass.class(它不是​​接收器本身)而不是实际的接收器,它是一个成员。 有没有人有关于这是否可能具有明确意图的建议?我可以使用一个隐含的意图,但这似乎有点浪费,因为这只是一个特定的类。

2 个答案:

答案 0 :(得分:0)

这种方式不起作用。你应该把你的BroadcastReceiver作为一个单独的类。

答案 1 :(得分:0)

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