有人可以解释一下应用程序特定文件夹的权限吗/Android/data/< package_name>/files/
如此处所述http://developer.android.com/guide/topics/data/data-storage.html#filesExternal
目前还不清楚什么时候它对应用程序来说是真正私有的,什么时候它是世界可读的。当启用 USB 大容量存储时,外部存储中的文件(包括应用程序特定文件夹)是否可以被所有人读取?
我尝试使用文件管理器应用程序(ASTRO 文件管理器),我能够查看/打开 SD 卡上应用程序特定文件夹中的文件,这与设置无关Protect USB storage
在设置下的开发者选项中。我正在使用运行 4.3 版本 Android 的 Google Nexus 4。
所以当这个文件夹出现时会很混乱/Android/data/appname/files/
对于应用程序来说确实是私有的。
thanks.
我们来谈谈 Android 安全性吧?
您无法在未 root 的设备上访问应用程序的主目录。这将是一个重大的安全漏洞。
不推荐创建 WORLD_READABLE 文件,并且从 API 中的文本判断,这是“decperacted”表示“已弃用”的情况之一。
-
那么 - 您想在应用程序之间传递数据吗?
A。您可以将文件保留在指定位置以供第二个应用程序获取。但这是一个坏主意。它会浪费用户的存储空间,根本没有安全性,第二个应用程序不会收到有关待更新的通知,并且您无法轻松确定事态。我建议您避免这种方法。尽管如此,我还是在下面的更新部分中进行了一些详细说明。
b.对于简单的小数据块,我建议您使用Intent/BroadcastReceiver方法.
C。你可以去内容提供者方法你想以正确的方式做事吗?
d.你可以去意图/服务方法.
e.对于真正的 IPC -use AIDL.
UPDATE:
我建议你先阅读谷歌的文章彻底。本文清楚地讨论了在应用程序之间传输大文件的情况。此外,正如您可以清楚地看到的,这些术语相当混乱。
因此,让我们根据 Google 关于该主题的文章来回顾一下您的问题。
内部存储器对于您的应用程序来说是私有的,其他应用程序无法访问。您可以通过以下方式访问其目录结构Context.html#getFilesDir().
请注意:
- 当用户卸载应用程序时,此处写入的文件将被删除。
外置储存可以是物理内部(内置存储)或外部(可移动 SD 卡)。这里没有安全模型,文件对全世界都是可见和可访问的。您可以通过以下方式访问外部目录结构Context.html#getExternalFilesDir()。请注意:
此目录可能会变得无法访问(当用户将设备连接到计算机或取出 SD 卡时)。
每个设备用户可能有一个单独的目录。
即使用户卸载应用程序,文件也会保留。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)