get Top Activity Class Name - Android android.app

Android examples for android.app:Activity Property

Description

get Top Activity Class Name

Demo Code

import java.util.List;

import android.app.ActivityManager;
import android.app.ActivityManager.RunningTaskInfo;
import android.content.ComponentName;
import android.content.Context;

public class Main {

  /**/*from w  w w.  ja  v  a 2 s  . c o m*/
   * Returns Class name of top activity
   * 
   * @param context
   *          Context to provide activity information
   * @return String representing class name of top activity
   */
  public static String getTopActivityClassName(Context context) {
    ComponentName activity = getTopActivity(context);
    if (activity == null) {
      return null;
    }
    return activity.getClassName();
  }

  private static ComponentName getTopActivity(Context context) {
    ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    if (am == null) {
      return null;
    }
    List<RunningTaskInfo> info = am.getRunningTasks(1);
    if (info == null) {
      return null;
    }
    ComponentName activity = info.get(0).topActivity;
    return activity;
  }

}

Related Tutorials