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方法中使用此方法,但我在整个地方取消注册错误。
不太清楚你在说什么。 – 2014-09-25 16:10:25
@JoshElias,也许我不清楚你真正想要什么。 – user3439968 2014-09-25 16:17:03
我试图澄清。 – 2014-09-25 16:36:21