Android判断当前应用程序处于前台还是后台的两种方法
发布日期:2021-11-12 07:57:20
浏览次数:27
分类:技术文章
本文共 1226 字,大约阅读时间需要 4 分钟。
原文地址:http://www.jb51.net/article/45084.htm
1、通过RunningTaskInfo类判断(需要额外权限):
代码如下:
/** *判断当前应用程序处于前台还是后台 */ public static boolean isApplicationBroughtToBackground(final Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<RunningTaskInfo> tasks = am.getRunningTasks(1); if (!tasks.isEmpty()) { ComponentName topActivity = tasks.get(0).topActivity; if (!topActivity.getPackageName().equals(context.getPackageName())) { return true; } } return false;
}
需要在AndroidMenitfest.xml文件中添加以下权限
代码如下:
<uses-permission android:name="android.permission.GET_TASKS" />
2、通过RunningAppProcessInfo类判断(不需要额外权限):
代码如下:
public static boolean isBackground(Context context) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses(); for (RunningAppProcessInfo appProcess : appProcesses) { if (appProcess.processName.equals(context.getPackageName())) { if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND) { Log.i("后台", appProcess.processName); return true; }else{ Log.i("前台", appProcess.processName); return false; } } } return false; }转载地址:https://blog.csdn.net/happy_love1990/article/details/72667832 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月10日 23时41分03秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
第八届蓝桥杯第4题:方格分割
2021-06-29
nyoj608畅通工程
2021-06-29
解决linux下mysql忘记密码的情况
2021-06-29
nyoj1101Oh, my God!错排公式
2021-06-29
委托与事件(浅度分析)—事件
2021-06-29
.NET框架
2021-06-29
VB.NET入门
2021-06-29
七层登录
2021-06-29
Polar bear and air-conditioner
2021-06-29
不加注解引起的500错误
2019-04-26
PB使用专用接口连接SQL Server
2019-04-26
PB中创建需要带参数查询的DataWindow
2019-04-26
idea如何设置自动换行
2019-04-26
Java—JDBC入门
2019-04-26
java各工具类Utils
2019-04-26
java8 集合分组(根据集合中对象中时间字段的月份分组)
2019-04-26
Linux常用快捷键和基本命令
2019-04-26
Linux上安装jdk1.8和配置环境变量
2019-04-26
A表中存有B表的多个主键,逗号隔开,B表进行删除时,要判断B表是否绑定A,怎么实现?
2019-04-26
centos环境下docker安装redis并挂载外部配置和数据
2019-04-26