3

AccountManager 帐户存储在哪里?是在设备上吗?如果是,它存储在哪个文件夹中?

4

2 回答 2

4

它存储在这里:

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

哪里 getSystemSecureDirectory:

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

DATABASE_NAME = "accounts.db";

于 2012-01-09T07:20:21.453 回答
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
 */

隐藏方法仅供与平台本身一起分发的平台应用程序使用。它们是针对平台源而不是 SDK 源编译的,因为 Play/Market 的应用程序必须如此。

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

于 2012-04-04T14:41:32.150 回答