tags:

views:

115

answers:

2

Hi I am new to android.. I was trying to make a program that shows all the active application.

I searched everywhere..but could find codes that shows the package name only.

It would be of great help if you masters can tell me how to display all the active application name

Thanks in advance

Shijilal

+1  A: 

Did you try using ActivityManager.getRunningAppProcesses()? Here is the sample code for retrieving names:

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
  }
}

bhups
yes..i did tried..but in ActivityManager.getRunningAppProcess() there is only option for getting ProcessName. But i need the ApplicationName of those Process and there is no way i could find in that.
Shijilal
I have edited the answer with the working code.
bhups
Thanks bro..that was really helpful. Thanks Again
Shijilal
+1  A: 

If you are getting the package name, you should be able to get additional information about the application using the PackageManager:

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

There are direct methods for getting the application icon, ApplicationInfo and ActivityInfo objects. Off the top of my head I don't know which one would direct you to the readable name, but if its not directly accessible through one of the methods here, it should be accessible from the application resources (also accessible from this class).

Marloke