Android(安卓)是否前台运行
16lz
2021-12-08
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(安卓)Studio 和 Android(安卓)SDK Manager 无法在线
- Android(安卓)Activity界面切换添加动画特效
- 为TextView添加上下边框
- Android(安卓)10 定位问题,获取NMEA(支持5.0~10.0)
- 如何去掉状态栏和内容视图之间的黑色阴影线
- Android(安卓)版本兼容 — Android(安卓)6.0 和 7.0后获取Mac地
- 浅谈Java中Collections.sort对List排序的两种方法
- Python list sort方法的具体使用
- python list.sort()根据多个关键字排序的方法实现