Krima Moteriya
Krima Moteriya

Reputation: 61

What is com.android.systemui.recent.RecentsActivity for Lollipop?

I am trying to get click event of recent apps in lollipop using RunningAppProcessInfo but i did not get this activity.

       for (RunningAppProcessInfo appProcess : appProcesses) 
                            {

                                if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND)
                                {

                                    if(appProcess.importanceReasonComponent != null)
                                    {
                                        ComponentName comp = appProcess.importanceReasonComponent;

                                    //  Log.e("tag", "not null====>>"+comp.getClassName());

                                        if (comp.getClassName().equals("com.android.systemui.recents.RecentsActivity")) 
                                        {
                                            Log.e("tag===", "clear when recent app");
                                            ApplicationClass.prefrences.Store_recent_open_app("");
                                        }
                                    }
    }
}

Below lollipop, I got recent acitivity using following code.

List<RunningTaskInfo> tasks = manager.getRunningTasks(1);

                        for (RunningTaskInfo task : tasks) 
                        {
                            ComponentName componentName = task.topActivity;

                                if (componentName.getClassName().equals("com.android.systemui.recent.RecentsActivity")) 
                                {
                                    Log.e("tag", "recent");
                                    ApplicationClass.prefrences.Store_recent_open_app("");
                                }
}

Please help me out to resolve this problem.

Thank you.

Upvotes: 3

Views: 2729

Answers (1)

Samvel Kartashyan
Samvel Kartashyan

Reputation: 720

Just use this code:

 ActivityManager am = (ActivityManager) getApplicationContext()
                .getSystemService(Activity.ACTIVITY_SERVICE);

 String packageName;

 if(Build.VERSION.SDK_INT>20){

 packageName = am.getRunningAppProcesses().get(0).processName;

 if (packageName != null && packageName.equals("com.android.systemui.recentsactivity")) {

                // TODO do your stuff here
            }
  } else{

   packageName = am.getRunningTasks(2).get(0).topActivity
                    .getPackageName();
   ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
            if (cn != null && cn.getClassName().equals("com.android.systemui.recent.RecentsActivity")) {

               // TODO do your stuff here

            }
        }

Upvotes: 2

Related Questions