2016-07-28 72 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()在超類上調用相應的 方法。