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

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

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

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

android 5.0适配TopActivity获取

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

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

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

获取activity栈的最顶端的一个

ActivityManager mActivityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERV...

第三方开源库:TopActivity

简介地址:android-TopActivity说它是神器是有理由的,通过TopActivity可以看到你正再操作的app的包名和当前类。上图:...

获取RunningTaskInfo

有时候希望知道当前有哪些app在运行,为此,

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

我们的应用要获取后台运行的app的包名,主要是 getRunningTasks()方法的调用,经过测试在android 2.2 到 4.4的版本都运行的很好,但是在Android 5.0 Lollip...

2种判断(获取)栈顶activity的方法

2种判断(获取)栈顶activity的方法

获取Activity栈,判断当前Activity位置

需求需要在整个app全局能够弹出弹框,接收到广播即进行处理。 但是,BaseActivity派生出N个Activity,BaseActivity中的广播就会执行N次,导致弹框重复添加,所有在广播中判定...
  • ffengz
  • ffengz
  • 2017年07月10日 22:17
  • 1517

如何得到Activities栈顶的Activity名称

众所周知,Android中的任务等等都是通过栈来管理的,Activities的管理也不例外。栈这种数据结构是大家再熟悉不过了。它的先进后出特性让Android可以很容易实现从当前Activity回到或...
  • zjzjt
  • zjzjt
  • 2016年02月27日 17:41
  • 2332
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android 如何获取最顶端的Top Activity
举报原因:
原因补充:

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