安卓账户管理器账户存储

3

账户管理器的账户存储在哪里?它存储在设备上吗?如果是,它存储在哪个文件夹中?

2个回答

4

它存储在这里:

Environment.getSystemSecureDirectory().getPath() + File.separator + DATABASE_NAME;

获取系统可用于安全存储的目录。如果启用了加密文件系统,则返回一个加密目录 (/data/secure/system)。否则,返回未加密的 /data/system 目录。

DATABASE_NAME = "accounts.db";


感谢您的迅速回复! - Guna
在支持多个用户配置文件的新版本中,您会发现数据库位于/data/system/users/0/accounts.db,请将0替换为实际的用户编号。 - rymo

1

虽然答案完全正确,但您应该记住'Environment.getSystemSecureDirectory()'是平台API方法,而不是公共SDK的API的一部分。如果您查看其javadoc,您将意识到'@hide'注释:

 /**
 * Gets the system directory available for secure storage.
 * If Encrypted File system is enabled, it returns an encrypted directory (/data/secure/system).
 * Otherwise, it returns the unencrypted /data/system directory.
 * @return File object representing the secure storage system directory.
 * @hide
 */

隐藏方法仅供与平台本身一起分发的平台应用程序使用。它们是针对平台源代码进行编译的,而不是针对Play/Market的SDK源代码进行编译,因为Play/Market的应用程序需要这样做。

这意味着如果您想在Play/Market上分发您的应用程序,则不允许使用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接