Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取访问文件的应用程序名称的步骤_Java_Android - Fatal编程技术网

Java 获取访问文件的应用程序名称的步骤

Java 获取访问文件的应用程序名称的步骤,java,android,Java,Android,我正在构建一个应用程序,我想知道android设备上的所有应用程序都打开/访问了给定的文件。有人能帮我吗。我使用过FileObservor,但它只告诉我打开或访问了哪些文件。我想知道哪个应用程序访问了它 首先,没有日志记录,所以您必须在事情发生时捕获它们,然后才能完成它们 在普通的linux上,您可以使用类似于文件观察者(inotify)的机制来确定文件何时被访问,然后通过/proc/whatever/fd来查找访问它的人,如果您可以在他们仍然打开文件的情况下这样做的话。但android将每个应

我正在构建一个应用程序,我想知道android设备上的所有应用程序都打开/访问了给定的文件。有人能帮我吗。我使用过FileObservor,但它只告诉我打开或访问了哪些文件。我想知道哪个应用程序访问了它

首先,没有日志记录,所以您必须在事情发生时捕获它们,然后才能完成它们

在普通的linux上,您可以使用类似于文件观察者(inotify)的机制来确定文件何时被访问,然后通过/proc/whatever/fd来查找访问它的人,如果您可以在他们仍然打开文件的情况下这样做的话。但android将每个应用程序作为自己的用户ID运行(共享的联合软件包除外),这意味着您缺乏从另一个应用程序访问此信息的权限


通过将数据保存在内容提供商中而不是放在一个简单的文件中,您可能可以完成一些事情,因为对它的任何访问都将由您的代码进行调解。

什么语言?什么站台?请阅读:我正在安卓上工作。。。所以语言是javayes,你是对的。我无法从其他应用程序访问/proc/[pid]/fd中的信息。有没有其他方法可以做到,即从应用程序获得root权限而无需为手机加根?不,以root身份运行应用程序需要“为手机加根”(还有相当多的工作-人们通常以助手身份运行,而不是以root身份运行应用程序)。