2016-07-28 35 views
2

我想配置Android 6自动备份功能以排除整个目录中的所有文件(包括“文件”和“外部”),也应排除一些特定的扩展名。将像这样的通配符。和* .tn-png工作的路径值? 我无法明确定义所有文件,因为这些文件是在运行时创建的。如何从Android 6自动备份中排除整个目录?

android:fullBackupContent="@xml/mybackupscheme" 

其中mybackupscheme将例如是这样的:

<?xml version="1.0" encoding="utf-8"?> 
<full-backup-content> 
    <exclude domain="file" path="device-links.xml"/> 
    <exclude domain="file" path="*.tn-png"/> 
    <exclude domain="file" path="links/*.*"/> 
    <exclude domain="external" path="external-links/*.*" /> 
</full-backup-content> 

由于提前,

+0

我在这里面临同样的问题。你把它弄出来了吗? – michalsol

+0

不,我没有解决方案,除了重新组织文件夹结构。 –

回答

1

official documentation说:

路径:指定文件或文件夹包括在或从备份中排除。 请注意:此属性不支持通配符或正则表达式语法。

所以你不能使用通配符。

但是你可以用exclude排除整个目录

<exclude> - 指定文件或文件夹备份过程中排除。

如果您的文件结构非常复杂,您可以实施自己的BackupAgent并覆盖onFullBackup方法。

您不能用 XML规则轻松表示要备份的文件集。在这些极少数情况下,您可以实施一个BackupAgent,该备份覆盖FullBackupDataOutput以存储您想要的内容。 要保留系统的默认实现,请使用super.onFullBackup()在超类上调用相应的 方法。