我正在构建一个应用程序,我想知道Android设备上存在的所有应用程序是否已打开/访问给定文件。谁可以帮我这个事。我使用过FileObservor,但它只是告诉我打开或访问了哪些文件。我想知道哪个应用程序访问了它。
答案 0 :(得分:0)
首先,没有记录,因此在完成之前你必须抓住它们。
在普通的Linux上你可以使用文件观察器(如inotify)机制来查找文件的访问时间,然后通过/ proc / whatever / fd进行搜索以尝试查找谁正在访问它,如果你能在他们打开它的同时做到这一点。但是android会将每个应用程序作为自己的用户ID运行(除了共享的联盟软件包),这意味着您无权从其他应用程序访问此信息。
您可以通过将数据保存在内容提供程序中而不是将其放在一个简单的文件中来完成某些任务,因为对它的任何访问都将由您的代码调解。