访问Android设备上应用程序专用目录中的MODE_WORLD_READABLE文件

时间:2012-06-09 01:24:17

标签: android directory

我们已经构建了一个Android应用程序,用于收集数据(用于排球统计数据)。此应用程序创建一个数据文件,我们最终希望将其传输到台式计算机(Windows PC和Macintoshes)。

我们目前在默认应用程序目录(data / data / appname / files)中将数据写为简单字符流,并在创建每个数据文件时指定MODE_WORLD_READABLE。

问题是即使数据文件是MODE_WORLD_READABLE,我们想要用来传输数据的各种实用程序也看不到数据文件。我假设问题是他们可能具有对文件的读访问权,但是他们没有对存储文件的目录的读访问权。具体来说,我无法使用Android设备上的ES File Explorer应用浏览这些文件,当我将Android设备作为USB设备连接到PC或Macintosh时,我无法浏览到这些文件。

我是将文件写入外部目录的唯一解决方案,还是我在这里缺少关于将MODE_WORLD_READABLE与应用程序目录一起使用的内容?

2 个答案:

答案 0 :(得分:1)

应用程序基目录的文件访问模式(通常类似于/data/data/com.package.app)及其中的顶级目录(databasesfilescache,... )是rwxrwx--x。对于除应用程序本身之外的其他用户,相关部分为--x,这意味着无法读取(浏览)目录,但可以遍历这些目录。因此,如果您确切知道要查找的内容(完整路径),则可以阅读MODE_WORLD_READABLE个文件。

答案 1 :(得分:0)

  

我们目前将数据写成一个简单的字符流   默认应用程序目录(data / data / appname / files)并指定   我们创建每个数据文件时都有MODE_WORLD_READABLE。

AFAIK您无法访问应用程序沙箱中的文件(即/data/data/appname/files)。如果可能,您可能从未使用过内容提供商。

我在这里看到的唯一解决方案就是你想要实现的只有 Rooted Devices

才能实现