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"/>

比较:

  • 两个方法都可以完成指定要求,但是方法二需要添加权限,而方法一不需要。

更多相关文章

  1. 解决Android(安卓)Studio 和 Android(安卓)SDK Manager 无法在线
  2. Android(安卓)Activity界面切换添加动画特效
  3. 为TextView添加上下边框
  4. Android(安卓)10 定位问题,获取NMEA(支持5.0~10.0)
  5. 如何去掉状态栏和内容视图之间的黑色阴影线
  6. Android(安卓)版本兼容 — Android(安卓)6.0 和 7.0后获取Mac地
  7. 浅谈Java中Collections.sort对List排序的两种方法
  8. Python list sort方法的具体使用
  9. python list.sort()根据多个关键字排序的方法实现

随机推荐

  1. Android小趣
  2. Android(安卓)沉浸式statusbar (5.0以上无
  3. 【Android】WebView设置背景色
  4. Android(安卓)SDK 2.2 开发环境搭建
  5. [轉] android默认debug.keystore的密码
  6. android 如何依赖android:sharedUserId更
  7. Android(安卓)onActivityResult()不执行
  8. RadioGroup实现底部导航
  9. Shake Android(安卓)ui elements
  10. Android(安卓)任务共用性Affinity