Android自动备份:应用程序在备份运行后丢失所有广播接收器
我正在为Android 7.1.1上的应用程序使用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
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");
}
}
}