Android 判断app是否在前台运行
2015-08-22 09:35
411 查看
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"/>
相关文章推荐
- Android Fragment(二)---使用
- 浅述IOS用到的BOOL类型
- log4j
- 问答Swift2.0-基本运算符、字符串和字符
- 【Android】自定义view-拖动小球移动
- Android Api Demos登顶之路(四十三)Fragment-->Retain Instance
- iOS APP瘦身技巧之第三方SDK瘦身
- WEBAPP开发技巧小结(手机网站开发注意事项)
- 猫猫学iOS 之CoreLocation指南针小应用
- 通讯录
- 阅读安卓在线(Android)系统源代码
- 关于java、Android中Math的一些用法
- iOS单例类的定义和使用
- Android应用退出代码各种方式
- iOS地图使用
- ios硬件特性(通讯录,邮件,短信,重力感应)
- iOS中set和get
- iOS界面间传值
- Android编码规范
- swift初始化