1、通过RunningTaskInfo类判断(需要额外权限):

复制代码代码如下:

  1. /**
  2. *判断当前应用程序处于前台还是后台
  3. */
  4. public static boolean isApplicationBroughtToBackground(final Context context) {
  5. ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
  6. List<RunningTaskInfo> tasks = am.getRunningTasks(1);
  7. if (!tasks.isEmpty()) {
  8. ComponentName topActivity = tasks.get(0).topActivity;
  9. if (!topActivity.getPackageName().equals(context.getPackageName())) {
  10. return true;
  11. }
  12. }
  13. return false;
  14. }

需要在AndroidMenitfest.xml文件中添加以下权限
复制代码代码如下:

<uses-permission Android:name="android.permission.GET_TASKS" />

2、通过RunningAppProcessInfo类判断(不需要额外权限):

复制代码代码如下:

  1. public static boolean isBackground(Context context) {
  2. ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
  3. List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
  4. for (RunningAppProcessInfo appProcess : appProcesses) {
  5. if (appProcess.processName.equals(context.getPackageName())) {
  6. if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
  7. Log.i("后台", appProcess.processName);
  8. return true;
  9. }else{
  10. Log.i("前台", appProcess.processName);
  11. return false;
  12. }
  13. }
  14. }
  15. return false;
  16. }

在处理推送的时候会用到

判断App整体处于前台还是后台的更多相关文章

  1. android判断当前应用程序处于前台还是后台

    /**     *判断当前应用程序处于前台还是后台     *      * @param context * @return         */    public static boolean ...

  2. 判断当前应用程序处于前台还是后台 ANDROID

    /**     *判断当前应用程序处于前台还是后台     *      * @param context * @return         */    public static boolean ...

  3. Android判断App是否在前台运行(转)

    原文地址: http://blog.csdn.net/zuolongsnail/article/details/8168689 Android开发中,有时候需要判断App是否在前台运行. 代码实现如下 ...

  4. Android判断App是否在前台运行

    版权声明:本文为博主原创文章,未经博主允许不得转载. //当前应用是否处于前台 private boolean isForeground(Context context) { if (context ...

  5. Android 判断app是否在前台运行

    <!-- 前台还是后台 --> <uses-permission android:name="android.permission.GET_TASKS" /> ...

  6. 判断app是否在后台

    1.通过RunningTaskInfo类判断(需要额外权限):(测试通过5.1可用,权限名称修改 <uses-permission android:name="android.perm ...

  7. 判断App运行是否在前台

    转自:http://notes.stay4it.com/2016/02/26/check-if-app-is-running-forground/ 在一些场景中,经常会需要判断App是否在后台运行,比 ...

  8. 判断App是否在后台运行

    在一些场景中,经常会需要判断App是否在后台运行,比如是否显示解锁界面,收到新消息是否显示Notification等.需求可能是多样化的,但所依仗的原理是相通的,今天Stay打算说说这些需求的最优解. ...

  9. Yii创建前台和后台登录表单和通过扩展 CWebUser 增加信息到 Yii::app()->user

    我参考了这篇文章来构建项目的前台和后台的目录结构.感谢Andy的这篇文章.按照所有的步骤,您将有单独的前台和后台面板,如: http://localhost/index.php // 前台 http: ...

随机推荐

  1. [hbase] HBase内置过滤器的一些总结

    http://blog.csdn.net/cnweike/article/details/42920547

  2. Python 引用

    python引用python中的数值类型变量也是引用,例如: a = 100b=a那么a和b指向同一块内存但是当修改a或者b的值得时候,Python会新分配一块内存来存储新的值 python中不可变类 ...

  3. 阐述:SIP协议是什么

    sip协议是什么?可能刚刚接触这个协议的朋友会掌握不好它的定义.那么首先我们要了解一下,目前企业中大多数VoIP应用都使用H.323协议,但是,随着越来越多的企业研究SIP协议,不久的将来基于SIP协 ...

  4. 自然语言交流系统 phxnet团队 创新实训 项目博客 (六)

    从你进入软件开始,你就建立了和服务器的联系.这是一段和服务器的长连接,直到你退出此软件. 2D文字聊天界面大致实现了文字输入.发送消息.接收消息.你可以通过点击按钮让机器人开启聊天模式或者学习模式.又 ...

  5. C艹函数与结构体

    传递指针 代码: #include <iostream> #include <cmath> struct polar{ double distance; double angl ...

  6. 了解VIM的寄存器

    VIM下的删除:delete; 复制:yank; 粘帖:put; 都会用到VIM下的相关寄存器,今天就说说这个寄存器的问题: VIM中有多种寄存器:包括: 有名寄存器,用名字("a-&quo ...

  7. GROUP BY、HAVING、AS 的用法小例子

    需求: 查询选休了5门课程的学生的姓名 分析: 1. 先从 t_sc 表中查出 选了5门课的学生的学号: SELECT COUNT(code) AS countCourse,sid FROM t_sc ...

  8. SpringBoot系列六:SpringBoot整合Tomcat

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:SpringBoot 整合 Tomcat 2.背景 SpringBoot 本身支持有两类的 WEB 容器:默认的 To ...

  9. (转)LCD:LCD常用接口原理篇

    关键词:android LCD TFT TTL(RGB)  LVDS  EDP MIPI  TTL-LVDS  TTL-EDP平台信息:内核:linux2.6/linux3.0系统:android/a ...

  10. (实用)Ubuntu 、CentOS更换国内源

    Ubuntu更换apt-get源 通过编辑/etc/apt/sources.list文件,我们能够更换Ubuntu的默认软件更新源.通常是将其换成一些国内比较知名的源.本文主要列举这些内容. 注意,在 ...