Android AccountManager帐户存储
AccountManager帐户存储在哪里?它在设备上吗?如果是,它存储在哪个文件夹中?它存储在这里:Android AccountManager帐户存储,android,accountmanager,accounts,Android,Accountmanager,Accounts,AccountManager帐户存储在哪里?它在设备上吗?如果是,它存储在哪个文件夹中?它存储在这里: Environment.getSystemSecureDirectory().getPath() + File.separator + DATABASE_NAME; 其中getSystemSecureDirectory: 获取可用于安全存储的系统目录。如果加密 如果启用文件系统,它将返回一个加密的目录 (/data/secure/system)。否则,它将返回未加密的 /数据/系统目录 和D
Environment.getSystemSecureDirectory().getPath() + File.separator + DATABASE_NAME;
其中getSystemSecureDirectory:
获取可用于安全存储的系统目录。如果加密
如果启用文件系统,它将返回一个加密的目录
(/data/secure/system)。否则,它将返回未加密的
/数据/系统目录
和
DATABASE_NAME=“accounts.db”代码>虽然答案完全正确,但您应该记住,“Environment.getSystemSecureDirectory()”是一种平台API方法,而不是公共SDK API的一部分。如果您查看它的javadoc,您将了解到“@hide”注释:
隐藏方法仅适用于与平台本身一起分发的平台应用程序。它们是根据平台源代码而不是SDK源代码编译的,因为Play/Market应用程序是必需的
这意味着,如果您想在Play/Market上发布应用程序,则不允许您使用它。感谢您的及时回复!在支持多用户配置文件的较新版本上,您可以在/data/system/users/0/accounts.db
找到数据库,并用实际用户编号替换0
。
/**
* 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
*/