首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LocalBroadcastManager不接收2.3的广播

LocalBroadcastManager不接收2.3的广播
EN

Stack Overflow用户
提问于 2014-07-02 07:29:33
回答 2查看 419关注 0票数 0

不适用于2.3。但在4.0.x上工作。为什么?

发送自IntentService:

代码语言:javascript
复制
intent.setAction(MessagesThread.NEW_MESSAGE);
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);

接收

代码语言:javascript
复制
protected void onStart() {
super.onStart();
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver,new IntentFilter(NEW_MESSAGE));
}

protected void onStop() {
LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver);
super.onStop();
}

private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
    .......................................
            .......................................
}
};
EN

回答 2

Stack Overflow用户

发布于 2014-07-02 07:43:56

我不确定,但问题可能是LocalBroadcastManager造成的。尝试不使用LocalBroadcastManager发送广播,如下所示:

发送广播

代码语言:javascript
复制
Intent i = new Intent("ALERT_CHANGE");
i.putExtra("DATA","News");
sendBroadcast(i);

接收广播活动

代码语言:javascript
复制
registerReceiver(uiUpdated, new IntentFilter("ALERT_CHANGE"));


private BroadcastReceiver uiUpdated= new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) 
{
String DATA = i.getStringExtra("Data");
txt.settext(DATA);
}
};
票数 0
EN

Stack Overflow用户

发布于 2014-07-02 10:45:27

代码语言:javascript
复制
LocalBroadcastManager.getInstance(this).sendBroadcast(newIntent(MessagesThread.NEW_MESSAGE).putExtras(intent));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24525287

复制
相关文章

相似问题

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