Xposed - 如何获取进程的包名称

时间:2014-08-17 15:23:11

标签: android

我正在构建一个xposed模块,我想只在某个进程(app)调用此方法时才挂钩方法。 我可以使用Binder获取进程pid和uid,但是我找不到一种方法来获取包名而没有上下文(我在一个无法获得任何Context作为参数的类中运行我的代码)。 / p>

我怎样才能得到它?

谢谢, 吉迪

1 个答案:

答案 0 :(得分:1)

如果您没有Context,我可以找到解决方案:

BufferedReader cmdlineReader = null;
try {
    cmdlineReader = new BufferedReader(new InputStreamReader(
        new FileInputStream(
            "/proc/" + android.os.Process.myPid() + "/cmdline"),
        "iso-8859-1"));
    int c;
    StringBuilder processName = new StringBuilder();
    while ((c = cmdlineReader.read()) > 0) {
        processName.append((char) c);
    }
    return processName.toString();
} finally {
    if (cmdlineReader != null) {
        cmdlineReader.close();
    }
}

来源:Is there a way to get current process name in Android