无法在第二个用户帐户上打开数据库,错误EACCES(权限被拒绝)

时间:2013-07-31 11:56:35

标签: android database multi-user

我的应用程序和使用多用户支持的Galaxy Nexus 10存在一些问题。我的应用程序必须复制数据库,当我作为平板电脑的第一个用户登录时,这可以正常工作,但它失败了

java.io.FileNotFoundException: /data/data/packagename/dbname.db: open failed: EACCES (Permission denied)

当我使用第二个帐户登录时。 第二个帐户似乎无权写入/ data / data ...

那么,可以做些什么呢?我已经阅读了一些关于这个问题的主题,仍然没有满足我的答案。是否有可用于在用户之间共享数据的文件夹?!

1 个答案:

答案 0 :(得分:2)

  

第二个帐户似乎无权写入/ data / data ...

正确。

  

那么,可以做些什么呢?

我猜你是硬编码了一条路。如果是这样,请不要这样做。使用getDatabasePath()查找当前用户的数据库的正确路径。

  

是否有可用于在用户之间共享数据的文件夹?!

不是我知道的。甚至外部存储在用户之间是分开的。实际上,设备上的单独用户帐户就好像这些用户位于完全独立的设备上一样。