2010-07-19 21 views

Trả lời

10

Nhấn và giữ phím HOME sẽ hiển thị danh sách các tác vụ gần đây (không nhất thiết phải chạy).

ActivityManager có những gì bạn cần. Hãy xem getRunningAppProcesses hoặc getRunningTasks.

Bạn có thể xem thông tin này (và nhiều thông tin khác) bằng cách chạy dumpsys activity qua 'adb shell'.

Running processes (most recent first): 
    App #11: adj=fore /F 43fe7c20 233:com.android.browser/10004 (top-activity) 
    App #10: adj=bak /B 43dcec80 190:android.process.media/10009 (bg-empty) 
    App # 9: adj=vis /F 43f495c8 107:com.android.inputmethod.latin/10014 (service) 
       com.android.inputmethod.latin.LatinIME<=ProcessRecord{43dbe0e8 59:system/1000} 
    PERS # 8: adj=sys /F 43dbe0e8 59:system/1000 (fixed) 
    PERS # 7: adj=core /F 43f534c0 111:com.android.phone/1001 (fixed) 
    App # 6: adj=bak+1/B 43ea1f58 148:android.process.acore/10006 (bg-empty) 
    App # 5: adj=home /B 43f601c0 114:com.android.launcher/10000 (home) 
    App # 4: adj=bak+2/B 43f85128 133:com.android.settings/1000 (bg-empty) 
    App # 3: adj=bak+3/B 43eacae0 223:com.android.music/10029 (bg-empty) 
    App # 2: adj=bak+4/B 43dfc500 206:com.android.mms/10028 (bg-empty) 
    App # 1: adj=bak+5/B 43f8fcd0 166:com.android.alarmclock/10025 (bg-empty) 
    App # 0: adj=bak+6/B 43fcbe50 182:com.android.email/10008 (bg-empty) 

    PID mappings: 
    PID #59: ProcessRecord{43dbe0e8 59:system/1000} 
    PID #107: ProcessRecord{43f495c8 107:com.android.inputmethod.latin/10014} 
    PID #111: ProcessRecord{43f534c0 111:com.android.phone/1001} 
    PID #114: ProcessRecord{43f601c0 114:com.android.launcher/10000} 
    PID #133: ProcessRecord{43f85128 133:com.android.settings/1000} 
    PID #148: ProcessRecord{43ea1f58 148:android.process.acore/10006} 
    PID #166: ProcessRecord{43f8fcd0 166:com.android.alarmclock/10025} 
    PID #182: ProcessRecord{43fcbe50 182:com.android.email/10008} 
    PID #190: ProcessRecord{43dcec80 190:android.process.media/10009} 
    PID #206: ProcessRecord{43dfc500 206:com.android.mms/10028} 
    PID #223: ProcessRecord{43eacae0 223:com.android.music/10029} 
    PID #233: ProcessRecord{43fe7c20 233:com.android.browser/10004} 
+0

tôi đang nói về chuyên môn ngữ pháp. – UMAR

48

Bạn có thể lấy gói tên hiện tại sử dụng

ActivityManager am = (ActivityManager) mContext 
       .getSystemService(Activity.ACTIVITY_SERVICE); 
     String packageName = am.getRunningTasks(1).get(0).topActivity 
       .getPackageName(); 

Bạn có thể sử dụng tên gói này để có được hiện tại ứng dụng hoạt động

+1

Câu trả lời thú vị. Tôi đã tìm kiếm điều này mãi mãi! Điều này cho phép tác vụ mà người dùng hiện đang thực hiện (chương trình họ hiện đang ở). Tuyệt quá! –

+13

Yêu cầu sự cho phép: android.permission.GET_TASKS – black

+0

đã lưu ngày của tôi .. !! cảm ơn ! –

12

Bạn có thể kiểm tra ProcessName của mỗi phần tử trong danh sách để xem nếu đó là quá trình bạn đang tìm kiếm. Bạn có thể sử dụng mã này

boolean isNamedProcessRunning(String processName){ 
if (processName == null) 
    return false; 

ActivityManager manager = 
    (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); 
List<RunningAppProcessInfo> processes = manager.getRunningAppProcesses(); 
for (RunningAppProcessInfo process : processes) 
{ 
    if (processName.equals(process.processName)) 
    { 
     return true; 
    } 
} 
return false; 
} 
Các vấn đề liên quan