Facebook和Telegram等应用程序如何在“设置”中的“清除数据”中保留用户数据



我正在尝试开发一个考勤应用程序。因此,我想通过在应用程序中保持用户登录状态而不卸载它来最大限度地减少用户为其朋友签名的身份欺骗。

例如,即使用户在"设置→存储"中清除数据,Facebook 也会保留用户数据。Telegram能够显示">管理存储"按钮,而不是">存储设置"中的"清除数据"按钮→这使得清除用户数据变得困难。

这两个应用程序如何执行这些类型的操作?当用户在后台终止应用程序时,我能够保留用户身份验证数据。但是,我的数据无法通过清除数据流程"存活"。

我相信

这些应用程序只是在使用此备份机制:https://developer.android.com/guide/topics/data/backup.html

具体来说,因为您需要备份的只是一个用户令牌(例如(,以便能够访问您自己的服务器并进行身份验证,并且......然后恢复所需的所有数据。

文档说得很清楚:

安装应用时会还原数据。如果需要,您可以请求手动还原。

另外(它是一个键/值存储,如共享首选项(:

注意:如果 Wi-Fi 不可用,键/值备份可能会使用移动数据。因此,键/值备份通常不适用于应用数据内容,例如媒体、下载的文件和缓存,除非数据量非常小。

您甚至不需要登录。

这可以通过在AndroidManifest中设置android:manageSpaceActivity application块轻松完成。如果您在其上设置了一些活动,则Clear Data按钮会在Manage Storage上自动更改,并通过单击打开您的活动。

<application 
    ...
    android:manageSpaceActivity=".SomeManageStorageActivity">
    ...
    >
        <activity
            android:name="some.package.SomeManageStorageActivity"
            ...
        </activity>
</application>

最新更新