文档章节

判断程序是否存于前台进程

techstan
 techstan
发布于 2014/04/19 14:36
字数 225
阅读 140
收藏 5

前些天做项目时,需要加入九宫格解锁功能,当程序处于后台进程时,再进入前台进程,弹出九宫格解锁...开始考虑到是否可以用Activity的生命周期来处理,最后发现,当程序开启了另一个Activity他也会弹出九宫格解锁,要的却不是这个效果:

/** 
     * 程序是否在前台运行 
     *  
     * @return 
     */
    public boolean isAppOnForeground() { 
            // Returns a list of application processes that are running on the 
            // device 
              
            ActivityManager activityManager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE); 
            String packageName = getApplicationContext().getPackageName(); 

            List<RunningAppProcessInfo> appProcesses = activityManager 
                            .getRunningAppProcesses(); 
            if (appProcesses == null) 
                    return false; 

            for (RunningAppProcessInfo appProcess : appProcesses) { 
                    // The name of the process that this object is associated with. 
                    if (appProcess.processName.equals(packageName) 
                                    && appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) { 
                            return true; 
                    } 
            } 

            return false; 
    }

当程序执行onStop()方法时,判断是否处于后台进程...加上全局的标志

程序执行onResume()方法时,根据已经标志的变量。再做相应的操作...



© 著作权归作者所有

共有 人打赏支持
techstan
粉丝 2
博文 7
码字总数 2053
作品 0
深圳
加载中

评论(1)

123__
123__
可以请教一下吗
Linux wait函数解析

进程一旦调用了 wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait 就会收集这个子进程的信息, 并把它彻底销毁后...

晨曦之光
2012/03/09
3.5K
0
Windows Phone 7 Series Developer General FAQ(译)

转自 WPWIND 前后台中的应用程序进程 我的程序能运行在后台吗? 不可以,Windows Phone 7 Series的应用程序模型只支持在前台执行。如果另外一个程序(第三方或者内置的)在你的程序正在运行的...

虫虫
2012/01/13
119
0
daemon函数结合脚本实现start, stop, restart

daemon函数 Daemon程序是一直运行的服务端程序,又称为守护进程。通常在系统后台运行,没有控制终端不与前台交互,Daemon程序一般作为系统服务使用。Daemon是长时间运行的进程,通常在系统启...

小灰灰Blog
2014/08/29
0
0
Linux环境编程--waitpid与fork与execlp

waitpid waitpid(等待子进程中断或结束) 表头文件 #include #include 定义函数 pidt waitpid(pidt pid,int * status,int options); 函数说明 waitpid()会暂时停止目前进程的执行,直到有信号来...

晨曦之光
2012/03/09
281
0
Python进程线程协程

线程 线程(线程锁、threading.Event、queue 队列、生产者消费者模型、自定义线程池) 进程(数据共享、进程池) 协程 线程 Threading用于提供线程相关的操作。线程是应用程序中工作的最小单...

静水大智
2016/12/23
5
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

[雪峰磁针石博客]软件测试专家工具包1web测试

web测试 本章主要涉及功能测试、自动化测试(参考: 软件自动化测试初学者忠告) 、接口测试(参考:10分钟学会API测试)、跨浏览器测试、可访问性测试和可用性测试的测试工具列表。 安全测试工具...

python测试开发人工智能安全
今天
2
0
JS:异步 - 面试惨案

为什么会写这篇文章,很明显不符合我的性格的东西,原因是前段时间参与了一个面试,对于很多程序员来说,面试时候多么的鸦雀无声,事后心里就有多么的千军万马。去掉最开始毕业干了一年的Jav...

xmqywx
今天
2
0
Win10 64位系统,PHP 扩展 curl插件

执行:1. 拷贝php安装目录下,libeay32.dll、ssleay32.dll 、 libssh2.dll 到 C:\windows\system32 目录。2. 拷贝php/ext目录下, php_curl.dll 到 C:\windows\system32 目录; 3. p...

放飞E梦想O
今天
0
0
谈谈神秘的ES6——(五)解构赋值【对象篇】

上一节课我们了解了有关数组的解构赋值相关内容,这节课,我们接着,来讲讲对象的解构赋值。 解构不仅可以用于数组,还可以用于对象。 let { foo, bar } = { foo: "aaa", bar: "bbb" };fo...

JandenMa
今天
1
0
OSChina 周一乱弹 —— 有人要给本汪介绍妹子啦

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享水木年华的单曲《中学时代》@小小编辑 手机党少年们想听歌,请使劲儿戳(这里) @须臾时光:夏天还在做最后的挣扎,但是晚上...

小小编辑
今天
48
8

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部