2010-10-05 38 views
14

Tôi đang cố gắng tạo một chương trình hiển thị tất cả các ứng dụng đang hoạt động.Nhận tên ứng dụng đang hoạt động trong Android

Tôi đã tìm kiếm ở mọi nơi nhưng chỉ có thể tìm thấy mã chỉ hiển thị tên gói .

Nó sẽ giúp đỡ rất nhiều nếu bạn thầy có thể cho tôi biết làm thế nào để hiển thị tất cả các hoạt động tên ứng dụng

Trả lời

33

Bạn đã thử sử dụng ActivityManager.getRunningAppProcesses()? Đây là đoạn mã mẫu cho tên lấy:

ActivityManager am = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE); 
List l = am.getRunningAppProcesses(); 
Iterator i = l.iterator(); 
PackageManager pm = this.getPackageManager(); 
while(i.hasNext()) { 
    ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo)(i.next()); 
    try { 
    CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName, PackageManager.GET_META_DATA)); 
    Log.w("LABEL", c.toString()); 
    }catch(Exception e) { 
    //Name Not FOund Exception 
    } 
}

+0

vâng .. tôi đã thử .. nhưng trong ActivityManager.getRunningAppProcess() chỉ có tùy chọn để nhận được ProcessName. Nhưng tôi cần ApplicationName của những quá trình và không có cách nào tôi có thể tìm thấy trong đó. – Shijilal

+0

Tôi đã chỉnh sửa câu trả lời bằng mã làm việc. – bhups

+0

@ bhups u có thể nói với mw làm thế nào tôi có thể tìm thấy chỉ các ứng dụng chạy hệ thống không được cài đặt ứng dụng? – user3233280

1

Nếu bạn đang nhận được tên gói, bạn sẽ có thể để có được thêm thông tin về các ứng dụng sử dụng PackageManager:

http://developer.android.com/reference/android/content/pm/PackageManager.html

Có trực tiếp các phương thức để nhận biểu tượng ứng dụng, các đối tượng ApplicationInfo và ActivityInfo. Tôi không biết cái nào sẽ dẫn bạn đến cái tên có thể đọc được, nhưng nếu nó không thể truy cập trực tiếp qua một trong các phương pháp ở đây, nó có thể truy cập được từ tài nguyên ứng dụng (cũng có thể truy cập từ lớp này).

-2

Tôi đã đưa ra một số giả định không chính xác khi thực hiện bài đăng này và bây giờ nhận ra rằng chúng không chính xác. - đã xóa

Các vấn đề liên quan