DSP
DSP

Reputation: 487

Display list of active (running) applications in a list view

I am trying to write an application that displays the list of running applications. I used activity manager for that. While running the application, It is showing the following error."UNHANDLED EVENT LOOP EXECUTION" IN ERROR LOG and application is force closing.

Please help me to find my mistake. My code is given below.

public class ActiveApplicationsActivity extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
        List<ActivityManager.RunningAppProcessInfo> l = am.getRunningAppProcesses();

        String[] sl = (String[]) l.toArray();

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, sl);

        setListAdapter(adapter);
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        String item = (String) getListAdapter().getItem(position);
        Toast.makeText(this, item + " selected", Toast.LENGTH_LONG).show();
    }
}

I am adding the logcat information

02-01 10:52:47.790: D/AndroidRuntime(333): Shutting down VM  
02-01 10:52:47.790: W/dalvikvm(333): threadid=1: thread exiting with uncaught exception (group=0x40015560)  
02-01 10:52:47.811: E/AndroidRuntime(333): FATAL EXCEPTION: main  
02-01 10:52:47.811: E/AndroidRuntime(333): java.lang.RuntimeException: Unable to start activity ComponentInfo   {com.msat.sd102268.taskmanager.activeapplications/com.msat.sd102268.taskmanager.activeapplications.ActiveApplicationsActivity}: java.lang.ClassCastException: [Ljava.lang.Object;  
02-01 10:52:47.811: E/AndroidRuntime(333):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)  
02-01 10:52:47.811: E/AndroidRuntime(333):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)  
02-01 10:52:47.811: E/AndroidRuntime(333):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)  
02-01 10:52:47.811: E/AndroidRuntime(333):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)  
02-01 10:52:47.811: E/AndroidRuntime(333):  at android.os.Handler.dispatchMessage(Handler.java:99)  
02-01 10:52:47.811: E/AndroidRuntime(333):  at android.os.Looper.loop(Looper.java:123)  
02-01 10:52:47.811: E/AndroidRuntime(333):  at android.app.ActivityThread.main(ActivityThread.java:3683)  
02-01 10:52:47.811: E/AndroidRuntime(333):  at java.lang.reflect.Method.invokeNative(Native Method)  
02-01 10:52:47.811: E/AndroidRuntime(333):  at java.lang.reflect.Method.invoke(Method.java:507)  
02-01 10:52:47.811: E/AndroidRuntime(333):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)  
02-01 10:52:47.811: E/AndroidRuntime(333):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)  
02-01 10:52:47.811: E/AndroidRuntime(333):  at dalvik.system.NativeStart.main(Native Method)  
02-01 10:52:47.811: E/AndroidRuntime(333): Caused by: java.lang.ClassCastException: [Ljava.lang.Object;  
02-01 10:52:47.811: E/AndroidRuntime(333):  at com.msat.sd102268.taskmanager.activeapplications.ActiveApplicationsActivity.onCreate(ActiveApplicationsActivity.java:23)  
02-01 10:52:47.811: E/AndroidRuntime(333):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)  
02-01 10:52:47.811: E/AndroidRuntime(333):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)  
02-01 10:52:47.811: E/AndroidRuntime(333):  ... 11 more  

Upvotes: 0

Views: 1674

Answers (1)

st0le
st0le

Reputation: 33545

String[] sl = (String[]) l.toArray();

You simply cannot convert a ActivityManager.RunningAppProcessInfo into a String

try this

String[] sl = new String[l.size()];
int i = 0;
for(RunningAppProcessInfo info : l)
 sl[i++] = info.getProcessName();// fictional function

or use a List itself

Upvotes: 1

Related Questions