Android 你能在方法中使用广播接收器吗?

Android 你能在方法中使用广播接收器吗?,android,broadcastreceiver,Android,Broadcastreceiver,是否可以在方法中管理BroadcastReceiver的生命周期 void handleSomething() { doSomethingThatWillBroadcast(); BroadcastReceiver somethingReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) {

是否可以在方法中管理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方法中使用此方法,但我发现到处都有未注册的错误。

进程处于活动状态时,它处于活动状态。你为什么不这样做呢

return somethingReceiver;
然后在你想要的地方管理它?我的应用程序在不同的类中创建接收器。代码与您的相同,但带有

return somethingReceiver;
并在params中使用上下文

BroadcastReciever handleSomething(Context context)
{
}
那别忘了打电话

unregisterReciever();
需要的时候


我尝试在IntentService方法中使用它,但我得到了注销 到处都是错误

我以前也看到过同样的错误。当我在创建的接收器上运行UnregisterReceiver()时,错误消失了。
你的代码创建了接收器,但没有办法注销创建的接收器。

不太清楚你在说什么。@JoshElias,也许我不清楚你真正想要什么。@JoshElias,编辑答案。不注册接收者(某个接收者);