Android自动备份:应用程序在备份运行后丢失所有广播接收器

Android自动备份:应用程序在备份运行后丢失所有广播接收器,android,broadcastreceiver,android-backup-service,Android,Broadcastreceiver,Android Backup Service,我正在为Android 7.1.1上的应用程序使用Android自动备份。我的应用程序具有启用或禁用完全备份的用户设置。我通过扩展BackupAgent类并重写onFullBackup()实现了这一点 如果backupEnable(请参见下面的代码)为true,并且调用了super,则备份和恢复工作正常。但是,如果backupEnable为false,则在操作系统或应用程序执行常规备份运行后,应用程序将处于异常状态 已调用adb shell bmgr fullbackup com.example

我正在为Android 7.1.1上的应用程序使用Android自动备份。我的应用程序具有启用或禁用完全备份的用户设置。我通过扩展
BackupAgent
类并重写
onFullBackup()
实现了这一点

如果
backupEnable
(请参见下面的代码)为
true
,并且调用了
super
,则备份和恢复工作正常。但是,如果
backupEnable
false
,则在操作系统或应用程序执行常规备份运行后,应用程序将处于异常状态 已调用adb shell bmgr fullbackup com.example.app

AndroidMainfest.xml
中定义的所有广播接收器将停止工作。
因此,GCM消息将不再通过

如何在自定义的
onFullBackup()
实现中恢复应用程序的正常状态,尤其是广播接收器?还是有更好的方法让用户从应用程序中启用或禁用Android自动备份

public class MyBackupAgent extends BackupAgent {
    @Override
    public void onFullBackup(FullBackupDataOutput data) throws IOException {
        if (backupEnable) {
            super.onFullBackup(data);
        } else {
            Log.i(TAG, "Full Backup disabled");
        }
    }
}