织梦CMS - 轻松建站从此开始!

罗索

当前位置: 主页>嵌入式开发>Android>

Android Little Tips系列之二:如何判断一个应用在运行

jackyhwei 发布于 2011-07-11 09:24 点击:次 
可能有些朋友会觉得这些小tips太简单了,但我还是决定坚持写下去,不积跬步,无以至千里!
TAG:

可能有些朋友会觉得这些小tips太简单了,但我还是决定坚持写下去,不积跬步,无以至千里!

也许有时候我们有时候会需要在一个应用中,或一个Service or Receiver中判断一个应用是否正在运行,以便进行一些相关的处理。这个时候我们需要得到一个ActivityManager,这个Manager顾 名思意就是管理Activity的,它有一个方法叫getRunningTasks,可以得到当前系统正在运行的Task的列表,代码如下:

   ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> list = am.getRunningTasks(100);
    for (RunningTaskInfo info : list) {
        if (info.topActivity.getPackageName().equals(MY_PKG_NAME) && info.baseActivity.getPackageName().equals(MY_PKG_NAME)) {
            isAppRunning = true;
            //find it, break
            break;
        }
    }

100表示取的最大的任务数,info.topActivity表示当前正在运行的Activity,info.baseActivity表系统后台有此 进程在运行,具体要做如何判断就看自已的业务需求。这个类还有更多的方法可以取得系统运行的服务、内存使用情况等的方法,请各位自行查找。

有一点要注意,如果想正常运行此方法,请在你的 AndroidManifest.xml 中加入:
<uses-permission android:name="android.permission.GET_TASKS" />
否则可能会有exception抛出。
(flza)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201107/14695.html]
本文出处:blog.sina.com.cn/flza 作者:flza
顶一下
(6)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容