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 5.0适配TopActivity获取

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

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

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

Android 如何监控当前Foreground Activity,如何获知应用程序的启动

目前主流的监控Foreground Activity的方法,主要有以下三种,各有利弊,还没有找到一个彻底的完美解决方案! 一、使用 AccessibilityService You can det...

Android获得当前正在运行的Activity及相关信息

本文实例讲述了android获取当前运行Activity名字的方法,可以避免即时聊天再出现通知的情况。分享给大家供大家参考。具体方法如下: 最近在做IM时需要知道当前Activity是哪一个Activ...

第三方开源库:TopActivity

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

Android6.0及后续版本拿到Top Activity和前台进程包名的方法

Android5.0以后通过shell命令取得前台进程名称和Top Activity

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

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

Android 5.0之后获取设备顶层包名问题

大家知道Android 5.0之后之前的获取TopActivity方法无可用了,网上还有一些关于让用户勾选什么状态的。有个方法可以处理这个问题,看代码: public static String...

获取activity栈的最顶端的一个

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

获取RunningTaskInfo

有时候希望知道当前有哪些app在运行,为此,
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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