【发布时间】:2014-07-02 07:29:33
【问题描述】:
不适用于 2.3。但适用于 4.0.x。为什么?
从 IntentService 发送:
intent.setAction(MessagesThread.NEW_MESSAGE);
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
接收
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) {
.......................................
.......................................
}
};
【问题讨论】:
-
在哪里注册接收器,什么时候发送广播?
-
需要在清单中注册?
-
您使用哪个版本的 android.support.v4.jar 实现了适用于 android2.3 的 LocalBroadcastManager?您的预期服务“在您的流程中”吗?
-
不,您不需要在清单中注册,但顺序很重要
-
android.support.v4.jar 修订版 20
标签: android android-intent intentservice localbroadcastmanager