我在我的应用程序中使用 Android AutoBackup 功能。这些是我的清单设置。
<application
android:allowBackup="true"
android:backupAgent=".BackupAgentCustom"
android:fullBackupContent="@xml/backup_rules"
android:fullBackupOnly="true"
从我的清单设置中可以看出,我实现了一个自定义 BackupAgent。当onFullBackup被调用时,我尝试在 sharedPreferences 中保存系统时间,所以我知道上次备份发生的时间。请参阅我的 BackupAgent 中的这段代码。
@Override
public void onFullBackup(FullBackupDataOutput data) throws IOException {
Log.d(TAG, "onFullBackup !!");
mSharedPreferences.edit().putLong(PREF_KEY_LAST_BACKUP_TIME, System.currentTimeMillis()).apply();
super.onFullBackup(data);
}
如果我从命令行或设备上的 android 备份设置启动备份过程,一切都会按预期工作。意味着,我可以从 sharedPreferences 中获得正确的 LastBackupTime。
但在我的物理设备上,它不起作用。我在我的物理设备上安装了带有释放密钥的应用程序,等到第二天备份过程从系统开始。android系统设置里的备份时间,和shared preferences里的值不一样。似乎 sharedPreferences 中的值没有更新。
我的问题。如何获取我的应用程序的最后备份时间?