從getRunningAppProcesses()
可以得到當前正在運行的進程的所有PID。在Android中,給定一個PID,如何知道它當前的運行活動和服務?
但是給定一個PID,它的進程當前可能帶有一個活動(在任務堆棧頂部)或多個服務,如何知道這些活動或服務的名稱?
從getRunningAppProcesses()
可以得到當前正在運行的進程的所有PID。在Android中,給定一個PID,如何知道它當前的運行活動和服務?
但是給定一個PID,它的進程當前可能帶有一個活動(在任務堆棧頂部)或多個服務,如何知道這些活動或服務的名稱?
對於服務,您可以撥打電話getRunningServices
並按pid過濾。對於活動,您可以使用getRunningTasks
,然後檢索每個topActivity
。你必須做一些事情,比如通過軟件包進行過濾,這很容易。
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
final Handler handler = new Handler();
final Runnable r = new Runnable() {
public void run() {
Log.e("start", "stsrt");
ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
List<RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();
for (int i = 0; i < procInfos.size(); i++) {
Log.e("Running task", "Running task: " + procInfos.get(i).processName);
}
handler.postDelayed(this, 1000);
}
};
handler.postDelayed(r, 1000);
}
});
僅有代碼的答案沒有多大幫助。介意添加一些描述? – 2015-01-02 07:46:51
Dude你可以閱讀有關RunningTaskInfo和RunningAppProcessInfo。[link] http://developer.android.com/reference/android/app/ActivityManager.RunningAppProcessInfo.html [link] http://developer.android.com/reference/android /app/[email protected] – 2015-01-06 08:45:39
什麼是「當前」活動或服務?特別是與服務;多個可以一次運行。隨着活動至少你可以說,在堆棧頂... – kabuko 2013-02-15 00:30:42
@kabuko好評,我會澄清這一點。 – JackWM 2013-02-15 00:35:56