我的一个应用程序和一个支持多用户的 Galaxy Nexus 10 有一些问题。我的应用程序必须复制一个数据库,当我作为平板电脑的第一个用户登录时这工作正常,但它失败了
java.io.FileNotFoundException: /data/data/packagename/dbname.db: open failed: EACCES (Permission denied)
当我使用第二个帐户登录时。 第二个账户好像没有权限写入/data/data...
那么,我们能做些什么呢?我已经阅读了一些关于这个问题的主题,仍然没有令我满意的答案。有没有可以用来在用户之间共享数据的文件夹?!
最佳答案
The second account seems to have no rights to write to /data/data...
正确。
So, what can be done about it?
我猜你硬编码了一条路径。如果是这样,请不要这样做。使用 getDatabasePath()
为当前用户 找到正确的数据库路径。
Is there a folder which can be used to share data between users?!
据我所知不是。甚至外部存储在用户之间也是分开的。实际上,设备上的独立用户帐户就好像这些用户在完全独立的设备上一样。
关于android - 无法在第二个用户帐户上打开数据库,错误 EACCES(权限被拒绝),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17969722/