如何获取Android正在运行的应用和它的pid

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取Android正在运行的应用和它的pid相关的知识,希望对你有一定的参考价值。

参考技术A ActivityManager mActivityManager = (ActivityManager)
this
.getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo>
mRunningProcess = mActivityManager
.getRunningAppProcesses();

int i =
1;

for (ActivityManager.RunningAppProcessInfo amProcess :
mRunningProcess)

Log.i("Application", (i++) + "PID: " +
amProcess.pid
+ "(processName=" + amProcess.processName +
"UID="+amProcess.uid+")");
本回答被提问者和网友采纳
参考技术B mRunningProcess)

Log;.uid+".pid
+ "ActivityManager; +
amProcess.processName +
"PID;UID="Application"ActivityManager mActivityManager = (ActivityManager)
this
.RunningAppProcessInfo amProcess , (i++) + "

int i =
1;(processName=");
List<.getRunningAppProcesses();
mRunningProcess = mActivityManager
;)" + amProcess;+amProcess.i(": "

for (ActivityManager.RunningAppProcessInfo>.getSystemService(ACTIVITY_SERVICE)

请问如何获取安卓正在前台运行的应用程序的包名?

参考技术A 在framework中想添加这个功能,所以写了个appliction来实现一下获取正在运行的应用程序: 还是先看图吧: 这个app主要是简单的实现了获取非系统的应用程序和一些常用的系统应用程序,显示在一个listview中,并添加了点击(回复到你打开的界面)和长按事件(关闭应用程序)。 看看代码吧: 直接贴出来再加上注释吧(直接写在一个文件里): package andorid/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:layout_width="40dip" android:layout_height="40dip"     />    <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" >    <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textStyle="bold"     />                <TextView android:id="@+id/info" android:layout_width="wrap_content" android:layout_height="wrap_content"     /> </LinearLayout> </LinearLayout> main: <?xml version="1/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:id="@+id/list_view" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" ></ListView> </LinearLayout> 在manifest文件中要加以个权限: <uses-permission android:name="android.permission.RESTART_PACKAGES" /> 主要是前面的am.killBackgroundProcesses(packageName);方法要这个权限。

以上是关于如何获取Android正在运行的应用和它的pid的主要内容,如果未能解决你的问题,请参考以下文章

如何在mac os X中获取正在运行的dock.app的pid_t

如何在应用程序和它的扩展之间共享一个类?

Android 逆向修改运行中的 Android 进程的内存数据 ( Android 命令行中获取要调试的应用进程的 PID | 进程注入调试进程内存的 so 库 )

如何以编程方式获取正在侦听某个端口的进程的 pid?

Nodejs如何独立检查PID运行的进程?

Android ABI