您的阅读没错,我不是在开玩笑。我尝试对其进行详细解释:
应用程序正在检查共享首选项中的userid
,如果有,则API要求用户提供此userid
的数据
现在,我清除应用数据/缓存并卸载
然后我创建一个应用程序版本并将其上传到Google Play
然后我下载了此应用,当它启动时,它以某种方式将我用于测试的用户ID存储为共享首选项,并从服务器请求该ID的用户数据,我不是在开玩笑。
这怎么可能? android操作系统是否只是被窃听了,并且没有真正正确地清除sharedpreferences数据?
我也重复了这些步骤并创建了一个新版本,以确保我没有犯任何愚蠢的错误。
我使用了Google开发人员聊天,但他们对编程一无所知,只负责评论等。
谢谢!
答案 0 :(得分:1)
这种Android行为是不寻常的,因为每当您将目标版本> = 23设置为Android项目时,就会启用“自动备份”功能。您可以在Back up user data with Auto Backup上看到它。这里摘录:
App的自动备份功能自动从应用程序备份用户的数据 定位并在Android 6.0(API级别23)或更高版本上运行。安卓系统 通过将应用程序数据上传到用户的Google云端硬盘来保存该数据 它受到用户的Google帐户凭据的保护。大量的 每个应用程序用户的数据上限为25MB, 存储备份数据。您的应用可以自定义备份过程或选择 通过禁用备份退出。
每当您使用Android Studio创建新项目时,AndroidManifest.xml
总是在启用自动备份的情况下创建的。具有android:allowBackup="true"
属性:
<manifest ... >
...
<application android:allowBackup="true" ... >
...
</application>
</manifest>
您需要使用android:allowBackup="false"
将其设置为false以禁用备份。开发时,应将其关闭。仅当您在Play商店中发布应用程序时启用它。