Android 无法在Broadcastreceiver中接收事件

Android 无法在Broadcastreceiver中接收事件,android,Android,我已使用以下代码在MainActivity中注册了广播接收器: OrientationBroadcastReceiver orientationBR = new OrientationBroadcastReceiver(); IntentFilter orientationIF = new IntentFilter( Intent.ACTION_CONFIGURATION_CHANGED); MainActivity.this.getBaseContext

我已使用以下代码在MainActivity中注册了广播接收器:

OrientationBroadcastReceiver orientationBR = new OrientationBroadcastReceiver();
IntentFilter orientationIF = new IntentFilter(
                    Intent.ACTION_CONFIGURATION_CHANGED);
MainActivity.this.getBaseContext().getApplicationContext().registerReceiver(orientationBR, orientationIF);

当应用程序运行时,广播事件确实会被我的广播侦听器接收。但当我关闭应用程序并打开另一个应用程序时,方向更改事件不会广播到我的接收器。有人能解释一下吗。

程序注册的接收器只有在应用程序打开时才接收广播。。
为了在应用程序关闭时接收广播,您需要在清单文件中注册此接收器。

通过编程注册的接收器仅在应用程序打开时接收广播。。
为了在应用程序关闭时接收广播,您需要在清单文件中注册此接收器。

然后,如果我想允许用户通过单击我的应用程序中的按钮取消注册/注册接收器,该怎么办?我如何处理清单文件?这是不可能做到的。。在这种情况下,你必须同时做这两件事。。。在清单中注册以及以编程方式注册。或者你可以在服务中注册。那么,如果我想允许用户通过单击我的应用程序中的按钮来注销/注册接收者,该怎么办?我如何处理清单文件?这是不可能做到的。。在这种情况下,你必须同时做这两件事。。。在清单中注册以及以编程方式注册..也可以在服务中注册。