有没有人在Nexus 6P设备上遇到过这个问题?我只是在Nexus 6P上运行此问题(运行Google Fi)。
当我安装应用时,userIsLoggedIn
内有SharedPreferences
的密钥。
这个区块:
boolean userIsLoggedIn = SharedPrefs.userIsLoggedIn(this);
// Then in another class...
public static boolean userIsLoggedIn(Context context) {
// For users updating apps, if the previous key-value is a string, convert it to boolean
try {
return context.getSharedPreferences(LOGIN_FILE, Context.MODE_PRIVATE)
.getBoolean(USER_LOGGED_IN, false);
} catch (ClassCastException e) {
Logger.e(TAG, e.getMessage());
context.getSharedPreferences(LOGIN, Context.MODE_PRIVATE)
.edit()
.putBoolean(USER_LOGGED_IN, false)
.commit();
return context.getSharedPreferences(LOGIN, Context.MODE_PRIVATE)
.getBoolean(USER_LOGGED_IN, false);
}
}
现在这应该在新卸载时返回false
但是在全新安装时调试它我在App Startup上得到以下内容。
如果重要的话,我也运行Proguard,当在非proguard启用的APK上运行设备时,它运行正常。在任何其他设备上运行proguard运行正常。
答案 0 :(得分:70)
由于Nexus 6P运行的是Android M,我认为问题是Automatic Backups。
我认为你可以使用allowBackup来阻止它。
答案 1 :(得分:7)
在Android M及以上版本中,他们将应用程序备份保留在谷歌驱动程序中,你可以通过使用,
转到应用部分设置android:allowBackup="true"
下的项目清单文件为false。你很高兴。
答案 2 :(得分:7)
您可以添加到您的清单中:
android:fullBackupContent="false"