有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java文件被哪个进程锁定(安卓)?

目前我正在开发一个安卓应用程序,其中SD卡上有一个文件,我必须找出访问该文件的所有进程的进程id

使用安卓。操作系统。FileObserver我们只能知道文件是否被任何进程访问。但是如何获取该进程的进程id呢


共 (1) 个答案

  1. # 1 楼答案

    我认为这不可能通过Android SDK实现

    您可能需要的是lsof(系统)命令。不幸的是,在安卓4.0下的大多数股票ROM上都没有。根据similar question下的评论,ICS已经有了一个补丁来添加基本的lsof支持。我让Galaxy Nexus运行4.0.3,我看到lsof命令出现在我的手机上。您还可以安装BusyBox来安装lsof(或者要求应用程序的用户安装它)

    假设手机上有lsof,您可以分析运行命令的输出:

    Runtime.getRuntime().exec(new String[] { "lsof", pathToInterestingFile});