Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
检索无关android应用程序的PID_Android_Android Activity - Fatal编程技术网

检索无关android应用程序的PID

检索无关android应用程序的PID,android,android-activity,Android,Android Activity,我想运行一个报告完全不同应用程序PID的应用程序(比如gmail应用程序) 公共类MainActivity扩展活动{ 公共静态列表运行进程; 私有静态记录器=Logger.getLogger(MainActivity.class.getName()); 私有映射pidMap=newtreemap(); @凌驾 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); Context=getApplica

我想运行一个报告完全不同应用程序PID的应用程序(比如gmail应用程序)

公共类MainActivity扩展活动{
公共静态列表运行进程;
私有静态记录器=Logger.getLogger(MainActivity.class.getName());
私有映射pidMap=newtreemap();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Context=getApplicationContext();
ActivityManager ActivityManager=(ActivityManager)context.getSystemService(ACTIVITY_服务);
ActivityManager.MemoryInfo MemoryInfo=新建ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
setContentView(R.layout.activity_main);
列出runningAppProcesses=activityManager.getRunningAppProcesses();
对于(RunningAppProcessInfo RunningAppProcessInfo:RunningAppProcesss)
{
put(runningAppProcessInfo.pid,runningAppProcessInfo.processName);
logger.info(“pid:+runningAppProcessInfo.pid+”|“+runningAppProcessInfo.processName”);
}
}
}

日志输出: pid:31052 | com.example.user508771.pidSniffer


问题是我不关心运行此应用程序的PID。。。我想要gmail应用程序的PID,它不是我应用程序的进程或子进程。与此相关的每个答案都不断告诉我使用activityManager.getRunningAppProcesses(),它似乎无法完成我需要它完成的任务。我需要根电话,使用一个低级别的API和NDK?< /P>你想用PID做什么?我想写一个C++应用程序,它运行在一个有根的Android上,它带有PID,可以读取给定PID的进程所设置的内存地址。
public class MainActivity extends Activity {
public static List<ActivityManager.RunningAppProcessInfo> runningProcesses;
private static Logger logger = Logger.getLogger(MainActivity.class.getName());
private Map<Integer, String> pidMap = new TreeMap<Integer, String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Context context = getApplicationContext();
    ActivityManager activityManager = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE);
    ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
    activityManager.getMemoryInfo(memoryInfo);
    setContentView(R.layout.activity_main);
    List<RunningAppProcessInfo> runningAppProcesses = activityManager.getRunningAppProcesses();
    for (RunningAppProcessInfo runningAppProcessInfo : runningAppProcesses)
    {
        pidMap.put(runningAppProcessInfo.pid, runningAppProcessInfo.processName);
        logger.info("pid: " + runningAppProcessInfo.pid + " | " + runningAppProcessInfo.processName);
    }
}