我在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");
}
}
}