2010-10-05 106 views
14

我正在嘗試製作一個顯示所有活動應用程序的程序。在Android中獲取活動的應用程序名稱

我到處搜索,但只能找到只顯示包名的代碼。

這將是很大的幫助,如果你的主人能告訴我如何顯示所有活動應用程序名稱

回答

33

你嘗試使用ActivityManager.getRunningAppProcesses()? 下面是檢索名稱的示例代碼:

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

yes..i did try..but在ActivityManager.getRunningAppProcess()中只有獲取ProcessName的選項。但我需要這些進程的ApplicationName,並且我無法在其中找到它。 – Shijilal 2010-10-05 06:48:22

+0

我已編輯與工作代碼的答案。 – bhups 2010-10-05 07:37:02

+0

@bhups可以告訴mw我怎麼才能找到系統運行的應用程序沒有安裝的應用程序? – user3233280 2014-11-23 07:38:41

1

如果您收到包的名稱,你應該能夠獲得有關使用PackageManager應用程序的更多信息:

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

有直接獲取應用程序圖標,ApplicationInfo和ActivityInfo對象的方法。關於我的頭頂,我不知道哪一個會引導您讀取可讀的名稱,但如果它不能通過此處的某個方法直接訪問,則應該從應用程序資源(也可從此類訪問)訪問它。

-2

我做了一些不正確的假設,當做這個職位,現在認識到他們是不正確的。 - 刪除

相關問題