我想运行一个应用程序来报告完全不同的应用程序的PID(比如说gmail应用程序)
void getLastAdded(const fs::path path)
{
const string& ext = ".xml";
fs::path last;
vector<fs::path> files;
fs::recursive_directory_iterator it(path);
fs::recursive_directory_iterator endit;
while (it != endit)
{
if (fs::is_regular_file(*it) && it->path().extension() == ext)
files.push_back(it->path());
++it;
}
for (size_t i = 0; i < files.size(); i++) {
if (i == 0)
last = files[i];
if (fs::last_write_time(last) <= fs::last_write_time(files[i]))
last = files[i];
}
cout << "Last:" << last.filename() << endl;
}
}
日志输出 pid:31052 | com.example.user508771.pidSniffer
问题是我不关心运行这个的应用程序的PID ...我想要的gmail应用程序的PID不是我的应用程序的进程或子进程。与此相关的每个答案一直告诉我使用activityManager.getRunningAppProcesses(),这似乎没有做我需要它做的事情。我是否需要将手机设为root并使用较低级别的API和NDK?