【问题标题】:How do I use Android 6.0 backup to restore default shared preferences?如何使用 Android 6.0 备份恢复默认共享首选项?
【发布时间】:2016-04-21 14:43:44
【问题描述】:

我不想通过new Marshmallow Autobackup feature 备份各种文件 - 一个领域数据库、一个共享首选项文件,用于存储“最近看到的”信息、日志文件等。

我宁愿简单地备份我确实关心的唯一文件 - 用户设置,而不是对每个使用 <exclude ... />,存储在 default 共享偏好。文档表明使用<include ... /> 将自动排除未明确包含的每个文件。

默认共享首选项文件使用什么路径?

<full-backup-content>
    <include domain="sharedpref" path="?"/>
</full-backup-content>

【问题讨论】:

    标签: android


    【解决方案1】:

    As described here,默认共享首选项文件名为your.package.name_preferences。您可以通过运行以下 ADB 命令在它们至少被访问一次后看到这一点:

    adb shell run-as your.package.name ls -al shared_prefs
    

    输出:

    C:\Users\Adam>adb shell run-as your.package.name ls -al shared_prefs
    -rw------- u0_a158  u0_a158       351 1970-01-17 16:54 your.package.name_preferences.xml
    

    要备份此文件,您必须按如下方式指定它,包括末尾的.xml。

    更新您的清单:

    <manifest ...
        <application ...
            android:fullBackupContent="@xml/backup">
        ....
    </manifest>
    

    并添加res/xml/backup.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <full-backup-content>
        <include domain="sharedpref" path="your.package.name_preferences.xml"/>
    </full-backup-content>
    

    请注意,对于所有共享首选项文件备份,您必须包含 .xml,即使是您自己定义文件名的备份 - 即使您没有在文件名中包含 .xml在代码中。

    【讨论】:

    猜你喜欢
    • 2023-04-07
    • 2013-07-19
    • 2018-03-21
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    相关资源
    最近更新 更多