如何得到Activities栈顶的Activity名称

2025-04-25 03:37:01
推荐回答(1个)
回答1:

 总的步骤是:
  1. 得到当前运行环境(context)的Activity管理器;
  2. 通过Activity管理器得到当前的任务栈信息;
  3. 从任务栈中获得栈顶的Activity的名称。
  具体读者可以参看下面的代码和Android帮助文档。
  代码举例 :
  String getTopActivity(Activity context)
  {
  ActivityManager manager = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE) ;
  List runningTaskInfos = manager.getRunningTasks(1) ;

  if(runningTaskInfos != null)
  return (runningTaskInfos.get(0).topActivity).toString() ;
  else
  return null ;
  }
  最后不要忘记在AndroidManifest.xml中增加权限:
  
  
  
  ActivityManager manager = (ActivityManager)             getSystemService(Context.ACTIVITY_SERVICE);
RunningTaskInfo info = manager.getRunningTasks(1).get(0);
String shortClassName = info.topActivity.getShortClassName(); //类名
String className = info.topActivity.getClassName(); //完整类名
String packageName = info.topActivity.getPackageName(); //包名