Android中的文件权限

问题描述 投票:4回答:3

我在这里只是想问一些可能非常简单的事情,我正在使用Files,FileOutputStream和FileInputStream,但我只想从文件中获取/设置一些道具,我的意思是,所有者的文件,权限读取/写等

环顾四周,我找到了类FileDescriptor和FilePermission,但我不知道哪些可以使用它们,所以我要求一些帮助;实际上我正在使用类File中的方法setReadOnly(),但现在我正在寻找它。

java android permissions
3个回答
4
投票

这里有几个问题:

  1. 默认情况下,应用程序可以无限制地访问自己的文件(读/写/删除/'执行'......无论执行意味着什么),但无法访问任何其他应用程序的文件。
  2. 除了通过Intents之外,Android很难与其他应用程序及其数据进行交互。意图不适用于权限,因为您依赖于接收Intent的应用程序来执行/提供您想要的内容;它们可能不是为了告诉任何人他们的文件权限。有很多方法,但只有当应用程序被设计为在同一个JVM中运行时(即您设计为在同一个JVM中运行的应用程序)

您的应用程序可以获取和设置其自己的文件的权限,但不能为任何人提供。据我所知,SDK中没有明确的所有权概念,因此您无法找到文件的所有者。

Android基于Linux内核,但它不是Linux。它已针对在移动设备上运行进行了大量优化。如果您的计算机上的应用程序只能在自己的沙箱中播放,那么您可以删除权限和所有权等内容,并获得更小,更快的操作系统。您的文件唯一的权限是您对它们的放置(和强制执行)。其他应用程序的文件不存在。


2
投票

Android使用标准Java API来处理文件和文件权限。 Here's a a page discussing permissions in Java.

基本上你需要做的就是获取文件的FilePermission对象,然后使用newPermissionCollection()方法从FilePermission对象获取PermissionCollection,然后在该集合中添加或删除项目。


1
投票

好吧......如果你只想查看权限,你不能只使用“ls -l”吗?

© www.soinside.com 2019 - 2024. All rights reserved.