Android 你能在方法中使用广播接收器吗?
是否可以在方法中管理BroadcastReceiver的生命周期Android 你能在方法中使用广播接收器吗?,android,broadcastreceiver,Android,Broadcastreceiver,是否可以在方法中管理BroadcastReceiver的生命周期 void handleSomething() { doSomethingThatWillBroadcast(); BroadcastReceiver somethingReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) {
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方法中使用此方法,但我发现到处都有未注册的错误。进程处于活动状态时,它处于活动状态。你为什么不这样做呢
return somethingReceiver;
然后在你想要的地方管理它?我的应用程序在不同的类中创建接收器。代码与您的相同,但带有
return somethingReceiver;
并在params中使用上下文
BroadcastReciever handleSomething(Context context)
{
}
那别忘了打电话
unregisterReciever();
需要的时候
我尝试在IntentService方法中使用它,但我得到了注销 到处都是错误 我以前也看到过同样的错误。当我在创建的接收器上运行UnregisterReceiver()时,错误消失了。
你的代码创建了接收器,但没有办法注销创建的接收器。不太清楚你在说什么。@JoshElias,也许我不清楚你真正想要什么。@JoshElias,编辑答案。不注册接收者(某个接收者);