http://stackoverflow.com/questions/2314969/how-to-determine-if-one-of-my-activities-is-in-the-foreground

ActivityManager#getRunningAppProcesses() returns a List of RunningAppProcessInfo . Each RunningAppProcessInfo has a field called importance. importance equal to RunningAppProcessInfo.IMPORTANCE_FOREGROUND seems to show which activity is actively being observed by the user. There is also RunningAppProcessInfo.IMPORTANCE_VISIBLE which is lower but might be worth checking out.

class ForegroundCheckTask extends AsyncTask<Context, Void, Boolean> {  @Override  protected Boolean doInBackground(Context... params) {    final Context context = params[0].getApplicationContext();    return isAppOnForeground(context);  }  private boolean isAppOnForeground(Context context) {    ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);    List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();    if (appProcesses == null) {      return false;    }    final String packageName = context.getPackageName();    for (RunningAppProcessInfo appProcess : appProcesses) {      if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND && appProcess.processName.equals(packageName)) {        return true;      }    }    return false;  }}

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. android 计算所在周所在月的前后日期
  2. 解决Android(安卓)SDK Manager,ADT无法在
  3. Android应用程序键盘(Keyboard)消息处理机
  4. Android 资源操作
  5. Android 屏蔽物理键盘
  6. Android保活/拉活(一)教程检索
  7. Android APK开机自动运行
  8. 查看android目录结构
  9. 控件:ExpandableListView --- 树型组件
  10. android(3)