Android获取Activity(应用)的执行状态及其它信息[通俗易懂]

Android获取Activity(应用)的执行状态及其它信息

大家好,又见面了,我是全栈君。

检測某Activity是否在当前Task的栈顶

public static boolean isTopActivy(String cmdName, Context context)
    {
        ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        List<RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(Integer.MAX_VALUE);
        String cmpNameTemp = null;
        if (null != runningTaskInfos)
        {
            cmpNameTemp = (runningTaskInfos.get(0).topActivity).toString();
        }

        if (null == cmpNameTemp)
        {
            return false;
        }
        
        return cmpNameTemp.equals(cmdName);

    }

推断Android应用是否在前台

public static boolean isAppOnForeground(Context context)
    {
        ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        String packageName = context.getPackageName();
        List<RecentTaskInfo> appTask = activityManager.getRecentTasks(Integer.MAX_VALUE, 1);
        
        if (appTask == null)
        {
            return false;
        }
        
        if (appTask.get(0).baseIntent.toString().contains(packageName))
        {
            return true;
        }
        return false;
    }

获取Android手机内安装的全部桌面

private static List<String> getAllTheLauncher(Context context)
    {
        List<String> names = null;
        PackageManager pkgMgt = context.getPackageManager();
        Intent it = new Intent(Intent.ACTION_MAIN);
        it.addCategory(Intent.CATEGORY_HOME);
        List<ResolveInfo> ra = pkgMgt.queryIntentActivities(it, 0);
        if (ra.size() != 0)
        {
            names = new ArrayList<String>();
        }
        for (int i = 0; i < ra.size(); i++)
        {
            String packageName = ra.get(i).activityInfo.packageName;
            names.add(packageName);
        }
        return names;
    }

Android 推断程序前后台状态

public static boolean isLauncherRunnig(Context context)
    {
        boolean result = false;
        List<String> names = getAllTheLauncher(context);
        ActivityManager mActivityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningAppProcessInfo> appList = mActivityManager.getRunningAppProcesses();
        for (RunningAppProcessInfo running : appList)
        {
            if (running.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND)
            {
                for (int i = 0; i < names.size(); i++)
                {
                    if (names.get(i).equals(running.processName))
                    {
                        result = true;
                        break;
                    }
                }
            }
        }
        return result;
    }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116351.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • luajit vs php7,Luajit编译

    luajit vs php7,Luajit编译2、找到VC编译命令行,以VS2019为例,分别位于C:\ProgramData\Microsoft\Windows\StartMenu\Programs\VisualStudio019\VisualStudioTools\VC\x64NativeToolsCommandPromptforVS2019C:\ProgramData\Microsoft\Windows\Star…

    2022年9月1日
    5
  • 约瑟夫环问题–递归解法的理解

    约瑟夫环问题–递归解法的理解转自:点击打开链接这里还有一篇思路简单清晰的文章:http://blog.csdn.net/wusuopubupt/article/details/18214999先来看这个类型的某个题目描述:约瑟夫生者死者游戏约瑟夫游戏的大意:30个游客同乘一条船,因为严重超载,加上风浪大作,危险万分。因此船长告诉乘客,只有将全船一半的旅客投入海中,其余人才能幸免于难。无奈,大家只得同意这种办法,并议定3…

    2022年6月3日
    38
  • 均方误差与方差的区别_平均数 方差 标准差

    均方误差与方差的区别_平均数 方差 标准差一、百度百科上方差是这样定义的:看这么一段文字可能有些绕,那就先从公式入手,对于一组随机变量或者统计数据,其期望值我们由E(X)表示,即随机变量或统计数据的均值,然后对各个数据与均值的差的平方求和,最后对它们再求期望值就得到了方差公式。这个公式描述了随机变量或统计数据与均值的偏离程度。二、方差与标准差之间的关系就比较简单了根号里的内容就是我们刚提到的那么问题来了,

    2022年9月1日
    7
  • 家庭影院.液晶电视.液晶电视连接电脑全功略续[通俗易懂]

    家庭影院.液晶电视.液晶电视连接电脑全功略续[通俗易懂]家庭影院.液晶电视.液晶电视连接电脑全功略续草木瓜20090201一、前言 《家庭影院.液晶电视.液晶电视连接电脑全功略》http://blog.csdn.net/liwei_cmg/archive/2008/11/28/3402883.aspx 一文中介绍了使用三星32A550P1R,作为电脑外接显示器+音箱的方法。其中中提到了 使用1366*768的分辨率。32A550物理

    2022年10月19日
    2
  • 十大气势背景音乐(适合战队,广告招商会场用)

    十大气势背景音乐(适合战队,广告招商会场用)

    2021年11月17日
    327
  • stm32H747_STM32H743的cache

    stm32H747_STM32H743的cache一、H.264的来源和特点H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式,它即保留了以往压缩技术的优点和精华又具有其它压缩技术无法比拟的许多优点。 1.低码流和MPEG2和MPEG4ASP等压缩技术相比,在同等图像质量下,采用H.264技术压缩后的数据量只有MPEG2的1/8,MPEG4的1/3。 2.高

    2022年9月19日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号