Android中的文件权限
我在这里只是想问一些可能非常简单的事情,我正在使用Files, FileOutputStream和FileInputStream ,但我只是想从文件中获取/设置一些道具,我的意思是,所有者的文件,权限读取/写等
环顾四周,我找到了类FileDescriptor和FilePermission,但我不知道哪些可以使用它们,所以我要求一些帮助; 实际上我正在使用类File中的方法setReadOnly() ,但现在我正在寻找它。
这里有几个问题:
- 默认情况下,应用程序可以无限制地访问自己的文件(读/写/删除/’执行’……无论执行意味着什么),但无法访问任何其他应用程序的文件。
- 除了通过Intents之外,Android很难与其他应用程序及其数据进行交互。 意图不适用于权限,因为您依赖于接收Intent的应用程序来执行/提供您想要的内容; 它们可能不是为了告诉任何人他们的文件权限。 有很多方法,但只有当应用程序被设计为在同一个JVM中运行时(即您设计为在同一个JVM中运行的应用程序)
您的应用程序可以为自己的文件获取和设置权限,但不能为任何人提供这样的权限。 据我所知,SDK中没有明确的所有权概念,因此您无法找到文件的所有者。
Android基于Linux内核,但它不是Linux。 它已针对在移动设备上运行进行了大量优化。 如果您的计算机上的应用程序只能在自己的沙箱中播放,则可以删除权限和所有权等内容,并获得更小,更快的操作系统。 您的文件唯一的权限是您对它们的放置(并强制执行)。 其他应用程序的文件不存在。
Android使用标准Java API来处理文件和文件权限。 这是一个讨论Java权限的页面。
基本上,您需要做的就是获取文件的FilePermission对象,然后使用newPermissionCollection()方法从FilePermission对象获取PermissionCollection ,然后在该集合中添加或删除项目。
好吧……如果你只想查看权限,你不能只使用“ls -l”吗?