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。之後,它不再註冊。 –
我很高興它解決了你的問題。 :) –