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

时间:2017-06-17 14:10:27

标签: android broadcastreceiver android-backup-service

我在Android 7.1.1上使用Android自动备份应用程序。我的应用程序具有用户设置以启用或禁用完整备份。我通过扩展BackupAgent类并覆盖onFullBackup()来实现此目的。

如果调用backupEnable(请参阅下面的代码)true并调用super,则备份和恢复功能完全正常。但是,如果backupEnablefalse,则在操作系统执行常规备份运行后,应用程序将处于奇怪状态或 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");
        }
    }
}

0 个答案:

没有答案