首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不接收广播的服务中的BroadcastReceiver

不接收广播的服务中的BroadcastReceiver
EN

Stack Overflow用户
提问于 2012-03-10 01:08:43
回答 2查看 9.6K关注 0票数 5

我有一个应用程序,用户可以在其中更新活动中的某些变量,该活动使用BroadcastReceiver将新变量传递给IntentService。但是,IntentService中的BroadcastReceiver似乎没有接收到广播。这是服务中用于创建广播接收器的代码

代码语言:javascript
复制
protected class UpdateReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent){
        Log.d("receiver", "Got message: ");
        //state=3;
        //Toast.makeText(context, "got it", Toast.LENGTH_SHORT).show();
    }
};

下面是在onHandle()函数中注册接收器的代码

代码语言:javascript
复制
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("updates");
UpdateReceiver lol = new UpdateReceiver();
DetectService.this.registerReceiver(lol, intentFilter);

最后,这里是从活动中发送广播的代码

代码语言:javascript
复制
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("updates");
HomePageActivity.this.sendBroadcast(broadcastIntent);
Log.d("sender", "send msg");

当我将接收器放在与广播部分相同的活动中时,它可以工作,但当我把它放到IntentService中时就不起作用了。请帮帮我!

另外,我尝试在这个项目中使用LocalBroadcastManager,因为广播都是本地的,但是eclipse似乎不能导入兼容类。我已经使用Android SDK管理器安装了它。我有什么地方做错了吗?

EN

Stack Overflow用户

发布于 2012-03-10 02:31:49

代码语言:javascript
复制
protected class UpdateReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent){
        Log.d("receiver", "Got message: ");
        //state=3;
        //Toast.makeText(context, "got it", Toast.LENGTH_SHORT).show();
    }
};

在onCreate()方法中或相关的地方。

代码语言:javascript
复制
mReceiver = new UpdateReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction("<your receivers intent goes here>");
this.registerReceiver(mReceiver, filter);

现在,您应该能够发送广播并将其接收。

代码语言:javascript
复制
Intent intent = new Intent("<your receivers intent goes here>");
// Add what you want to add to the intent right here.
<context-handle>.sendBroadcast(intent);
票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9638142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档