Android 如何获取最顶端的Top Activity

原创 2015年07月09日 14:12:42

Android 如何获取最顶端的Top Activity, 见如下代码:

    public static class TopActivityInfo {
        public String packageName = "";
        public String topActivityName = "";
    }
    private TopActivityInfo getTopActivityInfo() {
        ActivityManager manager = ((ActivityManager)GlobalConfig.getContext().getSystemService(Context.ACTIVITY_SERVICE));
        TopActivityInfo info = new TopActivityInfo();
        if (Build.VERSION.SDK_INT >= 21) {
            List<ActivityManager.RunningAppProcessInfo> pis = manager.getRunningAppProcesses();
            ActivityManager.RunningAppProcessInfo topAppProcess = pis.get(0);
            if (topAppProcess != null && topAppProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
                info.packageName = topAppProcess.processName;
                info.topActivityName = "";
            }
        } else {
            //getRunningTasks() is deprecated since API Level 21 (Android 5.0)
            List localList = manager.getRunningTasks(1);
            ActivityManager.RunningTaskInfo localRunningTaskInfo = (ActivityManager.RunningTaskInfo)localList.get(0);
            info.packageName = localRunningTaskInfo.topActivity.getPackageName();
            info.topActivityName = localRunningTaskInfo.topActivity.getClassName();
        }
        return info;
    }

我在另外一篇文章里面介绍了另外几种获取最顶端Top Activity的方法, 详见:http://blog.csdn.net/wangbaochu/article/details/50554406

版权声明:本文为博主原创文章,未经博主允许不得转载。

第三方开源库:TopActivity

简介地址:android-TopActivity说它是神器是有理由的,通过TopActivity可以看到你正再操作的app的包名和当前类。上图:...
  • ss1168805219
  • ss1168805219
  • 2016年11月17日 15:36
  • 1021

android 5.0适配TopActivity获取

最近因为项目需要,调研了下android 5.0 获取topActivity的方法,网上相关资料比较少,特写出来跟大家分享下。 5.0以下系统获取topActivity的方法,相信大家都很熟悉了,比...
  • shenyang1991
  • shenyang1991
  • 2015年03月24日 11:10
  • 3729

获取 运行 应用包名 顶层交互 TOP包名 主Activity

获取 运行 应用包名 顶层交互 TOP包名 主Activity //获取当前系统中 正在运行的 APK包名 ActivityManager mActivityManager = (Ac...
  • XSL1990
  • XSL1990
  • 2013年12月24日 16:48
  • 4163

获取activity栈的最顶端的一个

ActivityManager mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERV...
  • faith_boys
  • faith_boys
  • 2012年12月25日 09:55
  • 6390

Android 获取栈最顶层Activity和Application Context解决方案

前言:和有梦想的人一起奋斗,那也就不会觉得孤独了。 以前开发都是在别人搭完框架的情况下进行开发,今天遇到一个很头疼的问题,想要在做一个很常见的功能,当接收到极光推送的消息,就在当前页面显示一个di...
  • VickyWinner
  • VickyWinner
  • 2016年11月17日 21:25
  • 4718

android 获取栈顶activty的方法总结(兼容API 5.0)

最近5.0\6.0\7.0 安卓系统都陆续上岗了,兼容性和代码更新是个很头疼的问题,这次我们来说下TASK的基础和API 4.4以上解决方法;        * 必要权限: * 涉及的TASK...
  • DJY1992
  • DJY1992
  • 2016年06月21日 17:36
  • 12412

Android获取当前活动(最顶层)的activity

android
  • w71451000
  • w71451000
  • 2016年09月18日 18:49
  • 894

Android 获取栈最顶层Activity和Application Context解决方案

转自 Android 获取栈最顶层Activity和Application Context解决方案 在做类似“您的账号在异地登陆,您被迫退出”的dialog弹窗的功能时,不知道怎么获取当前Activ...
  • dongzhouT
  • dongzhouT
  • 2017年05月24日 16:35
  • 552

获取RunningTaskInfo

有时候希望知道当前有哪些app在运行,为此,
  • u013344915
  • u013344915
  • 2014年08月18日 20:19
  • 1625

Android判断应用在前台还是后台运行(判断应用前后台切换)

我们的应用要获取后台运行的app的包名,主要是 getRunningTasks()方法的调用,经过测试在android 2.2 到 4.4的版本都运行的很好,但是在Android 5.0 Lollip...
  • wulianghuan
  • wulianghuan
  • 2015年06月03日 16:53
  • 12506
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 如何获取最顶端的Top Activity
举报原因:
原因补充:

(最多只允许输入30个字)