Android 4.2中多用户环境中的数据文件夹位置

时间:2013-04-10 02:44:01

标签: android database sqlite

当我从不同用户下运行我的应用时,调用 Environment.getDataDirectory()会返回相同的信息( / data )。但是我的应用程序使用的数据库实际上是不同的。我使用 SQLiteOpenHelper 来创建和访问内部存储器中的数据库。

我可以使用此路径直接从第一个用户访问数据库文件: 的 /data/app_package_name/databases/database_file.db

我从第二位用户获得权限被拒绝错误。显然我试图在其他用户环境中访问db。

那么第二个用户的数据库的真实位置是什么?谢谢!

1 个答案:

答案 0 :(得分:1)

尝试使用以下内容:

context.getFilesDir().getAbsolutePath().replace("files", "databases") + File.separator + DB_NAME