1
我试图从IntentService来启动它的活动发送广播接收广播,这是我如何注册接收器的活动:广播接收器不会IntentService
private BroadcastReceiver mInitializer;
@Override
protected void onCreate(Bundle savedInstanceState) {
....
mInitializer = new InitializationReceiver();
IntentFilter initializer = new IntentFilter();
initializer.addAction(IntentConstants.Tasks.INITIALIZE);
initializer.addAction(IntentConstants.Initialization.INITIALIZE_IS_FIRST_START);
initializer.addAction("test");
registerReceiver(mInitializer, initializer);
....
}
private class InitializationReceiver extends BroadcastReceiver {
private InitializationReceiver() {
if(D) Log.d(TAG, "Instantiated InitializationReceiver");
}
@Override
public void onReceive(Context context, Intent intent) {
if(D) Log.d(TAG, "Received broadcast, intentAction: "+intent.getAction());
if(intent.getAction().equals(IntentConstants.Tasks.INITIALIZE)) {
if(D) Log.d(TAG, "Received Initialize Intent");
}
if(intent.getAction().equals(IntentConstants.Initialization.INITIALIZE_IS_FIRST_START)) {
if(D) Log.d(TAG, "Received First Start Intent");
}
}
}
这是怎么我从IntentService发送广播:
if(D) Log.d(TAG, "Got here");
Intent testIntent = new Intent("test");
sendBroadcast(testIntent);
- 业务创建事业“来到这里”得到记录,
- 的广播接收器在服务被创建之前被初始化并且
- 当发送广播时活动是可见的。
- 广播没有收到,导致“接收的广播......”从未登录
什么会导致这个问题?
你是对的,Facebook登录导致活动停止,然后在onStop我正在注销Receiver。之后,它不再注册。 –
我很高兴它解决了你的问题。 :) –