我的应用程序和使用多用户支持的Galaxy Nexus 10存在一些问题。我的应用程序必须复制数据库,当我作为平板电脑的第一个用户登录时,这可以正常工作,但它失败了
java.io.FileNotFoundException: /data/data/packagename/dbname.db: open failed: EACCES (Permission denied)
当我使用第二个帐户登录时。 第二个帐户似乎无权写入/ data / data ...
那么,可以做些什么呢?我已经阅读了一些关于这个问题的主题,仍然没有满足我的答案。是否有可用于在用户之间共享数据的文件夹?!
答案 0 :(得分:2)
第二个帐户似乎无权写入/ data / data ...
正确。
那么,可以做些什么呢?
我猜你是硬编码了一条路。如果是这样,请不要这样做。使用getDatabasePath()
查找当前用户的数据库的正确路径。
是否有可用于在用户之间共享数据的文件夹?!
不是我知道的。甚至外部存储在用户之间是分开的。实际上,设备上的单独用户帐户就好像这些用户位于完全独立的设备上一样。