0
메서드 내에서 BroadcastReceiver의 수명주기를 관리 할 수 있습니까?메서드 내에서 BroadcastReceiver를 사용할 수 있습니까?
void handleSomething() {
doSomethingThatWillBroadcast();
BroadcastReceiver somethingReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (!intent.getBooleanExtra(SOMETHING_RESULT, false)) {
finishSomething(false);
} else {
doAnotherSomethingThatWillBroadcast();
BroadcastReceiver anotherSomethingReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
finishAnotherSomething();
}
};
IntentFilter anotherSomethingFilter = new IntentFilter(ACTION_SOMETHING);
anotherSomethingFilter.addCategory(Intent.CATEGORY_DEFAULT);
registerReceiver(anotherSomethingReceiver, anotherSomethingFilter);
}
}
};
IntentFilter somethingFilter = new IntentFilter(ACTION_DOWNLOAD_APK);
somethingFilter.addCategory(Intent.CATEGORY_DEFAULT);
registerReceiver(somethingReceiver, somethingFilter);
}
이 코드는 IntentService 메서드에서 사용하려고 시도하지만 모든 곳에서 등록 취소 오류가 발생합니다.
당신이 무슨 말을하고 있는지 잘 모릅니다. –
@ JoshElias, 아마도 당신이 정말로 원하는 것을 분명히 이해하지 못했을 것입니다. – user3439968
나는 명확히하려고 노력했다. –