Android App开发中,有时需要判断应用是否处于当前活动状态,下面提到两个方法,都是从ActivityManager获得相关信息。
方法之一:
public boolean isAppOnForeground(String packageName) { ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); if (activityManager == null) { return false; } List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses(); if (appProcesses == null) { return false; } for (RunningAppProcessInfo appProcess : appProcesses) { if (appProcess.processName.equals(packageName) && appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) { return true; } } return false; }
方法之二:
public boolean isAppOnForeground(String packageName) { ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); if (activityManager == null) { return false; } ComponentName componentName = activityManager.getRunningTasks(1).get(0).topActivity; if (componentName.getPackageName().equals(packageName)) { return true; } return false; }
最后一定要添加权限 :
<uses-permission android:name="android.permission.GET_TASKS"/>
比较:
- 两个方法都可以完成指定要求,但是方法二需要添加权限,而方法一不需要。
相关推荐
获取手机正在运行的app,以及当前前台正在运行的app(兼容android6.0)
代码可以直接运行,实现了android平台服务的前台化,并以Notification显示到右下脚。代码可以在任何版本API运行。考虑了各种版本的API情况。内部使用了发射机制。 简略说下服务前台化的好处:即提高了服务的优先级别...
实现让自己的程序APP一直处于前台,当APP不在前台自动回到前台显示
主要介绍了判断Android程序是否在前台运行的两种方法,本文直接给出实现代码,,需要的朋友可以参考下
主要介绍了Android判断App前台运行还是后台运行的相关资料,需要的朋友可以参考下
下面小编就为大家分享一篇Android 判断某个Activity 是否在前台运行的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
判断程序在前台还是后台,直接运行就好
主要为大家详细介绍了Android中实现Service在前台运行服务,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
PackagesInfo pi = new PackagesInfo(this); ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); //获取正在运行的应用 获得当前系统所有应用
android 判断应用程序在前台还是在后台运行 查看相关博客:http://blog.csdn.net/u012184853/article/details/51135242
本文实例讲述了android获取当前运行Activity名字的方法,可以避免即时聊天再出现通知的情况。分享给大家供大家参考。具体方法如下: 最近在做IM时需要知道当前Activity是哪一个Activity.自己整理一下两种方法 第一种...
本文主要介绍了Android 判断程序在前台运行还是后台运行的方法。具有很好的参考价值。下面跟着小编一起来看下吧
一、前台服务的简单介绍 ...后台运行的Service系统优先级相对较低,当系统内存不足时,在后台运行的Service就有可能被回收,为了保持后台服务的正常运行及相关操作,可以选择将需要保持运行的Service设置为前台服务,从
压缩包内包含源代码,项目文档,apk文件,运行各个界面截图。app使用的是sqlite数据库,使用的核心类及其组件:Base Adapter,Fragment,View Pager,Alert Dialog.Builder,Option,Animation Draw able(关键帧...
主要介绍了Android应用程序转到后台并回到前台判断方法的相关资料,需要的朋友可以参考下
vc++程序源代码,如何将应用程序已运行的实例调至前台
主要为大家详细介绍了Android判断当前App是在前台还是在后台的方法,感兴趣的小伙伴们可以参考一下