2012-01-09 39 views

回答

4

它存储在这里:

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

其中getSystemSecureDirectory:

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

DATABASE_NAME = "accounts.db";

+0

感谢您的及时响应! – Guna 2012-01-09 08:52:46

+0

在更新的版本上有多个用户配置文件支持,您可以在'/ data/system/users/0/accounts.db'找到数据库,用实际用户编号替换'0'。 – rymo 2014-04-20 04:56:15

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上发布您的应用,则不允许使用它。

相关问题