检查android应用程序是否在前台? [复制]

2023-12-19

我针对这个问题找到了很多答案。但这都是关于单个活动的。如何检查整个应用程序是否在前台运行?


我不明白你想要什么,但你可以检测当前的前台/后台应用程序ActivityManager.getRunningAppProcesses() call.

就像是,

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;
  }
}

// Use like this:
boolean foregroud = new ForegroundCheckTask().execute(context).get();

如果我理解错了也请告诉我..

UPDATE:看看这个问题从后台任务或服务确定当前前台应用程序 https://stackoverflow.com/questions/2166961/determining-the-current-foreground-application-from-a-background-task-or-service提前了解更多信息..

Thanks..

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查android应用程序是否在前台? [复制] 的相关文章

随机推荐

  • 在内容可编辑的 div 中设置光标位置

    Summary 我试图达到当用户输入 a 时的效果 or 在内容可编辑的div 第二 or 是自动插入的 并且插入符号位于两者之间 即之间 and FIDDLE http jsfiddle net N6xFx 1 在右侧键入 s 并看看它在
  • 用字符串反应本机创建元素

    我看到很多人在 React Native 中创建类似于以下的路由映射 if route id Blah return
  • Python/Pandas Dataframe 用中值替换 0

    我有一个带有几列的 python pandas 数据框 其中一列有0价值观 我想更换0值与median or mean本专栏的 data是我的数据框 artist hotness是列 mean artist hotness data art
  • 从Spring 3.2.3升级到Spring 4后出错

    将我的网络应用程序从 Spring 3 2 3 升级到 Spring 4 后 我遇到了NoSuchMethodError java lang NoSuchMethodError org springframework security we
  • SQL Server Varbinary(max):从 varbinary 字段中选择字节子集

    在 SQL Server 2008 中从 varbinary MAX 字段 不使用 FileStreams 读取部分二进制数据的最有效方法是什么 将数据写入列时 T SQL 中提供了 VarBinary Write 函数 允许将字节增量写入
  • 从 Zend Framework 2 中的模块发布资产

    通常建议将模块资产存储在模块的目录中moduleName public 或者您想要命名资产目录的任何名称 不幸的是 Zend Framework 2 不支持资产发布默认情况下用于模块资产 根据MWOP 大约 1 个月前没有任何计划 我想仍然
  • 在windows服务中设置端口号

    我要开发一个windows服务 当服务启动时 就会有一个端口 我的问题是我们可以为其分配一个特定的端口号吗 例如 端口号为 55431 是的 假设您使用 WCF 作为通信层 您只需配置要侦听的绑定 协议作为服务配置的一部分 在您的服务中On
  • 重写条件总和和计数查询/日期范围比较的更好方法

    我不确定我所做的尝试是否正确 看来有很多重复的事情 以下示例在本月 上个月运行 但通常我不希望能够设置我的子句以供以后使用 例如 昨天与今天 这是一个简单的比较查询 只是为了让我们更容易 我们在这个 上个月进行操作 我的数据 CREATE
  • 如果log4net日志无法写入数据库,如何设置?

    我知道可以同时登录文件和数据库 也可以登录不止一种资源 https stackoverflow com questions 1372435 configure log4net to write to multiple files 但是如果l
  • 如何使用 Spring data REST 公开自定义 DTO CRUD 存储库?

    我不想公开我的模型类 jpa 实体 而是使用不同的数据传输对象 DTO 公开其属性的不同子集 这个想法是DTO CrudRepository lt gt JpaRepository lt gt entities 我想通过 Spring Da
  • 通过 ng build 构建 Angular 项目时,出现 angular.json 文件未找到错误

    我在笔记本电脑上克隆了一个存储库 该存储库是我一个月前从另一台计算机创建的 我的项目很成功 一个月前没有出现任何错误 但今天在我将存储库克隆到新计算机中后 我遇到了一些错误 其实我写的npm i为了安装软件包 然后我尝试通过构建我的项目ng
  • 计算上传文件的数量

    我正在开发我的 CodeIgniter 项目 到目前为止它运行得很好 但是 我需要某种方法来计算上传文件的数量 因为我想在某些情况下 但不是全部 限制它 我怎样才能做到这一点 我试过count FILES 但这没有给我任何可用的东西 我还尝
  • 了解 AMD GPU 中的 oneAPI 和 SYCL

    我是一名 GPGPU 开发人员 我使用 CUDA 完成了所有工作 最近 我为我的家庭设置购买了 AMD GPU 并且我一直在阅读有关 SYCL 和 oneAPI 的内容 但我不确定我是否理解它们各自是什么以及它们如何互补 如果我理解正确的话
  • 无法读取属性“getText”量角器

    我正在尝试将一个循环插入一个循环并获取Cannot red property getText of undefined error 这是我的代码 element all by className col md 4 ng scope then
  • 重置选择框的值

    我正在尝试重置两个选择字段的值 其结构如下
  • 艰难地学习 Ruby 第 9 章 三引号

    Zed Shaw 的 Learn Ruby the Hard Way 第 9 章使用了三重双引号 puts There s something going on here With the three double quotes We ll
  • 在给定合并提交 SHA1 的情况下,您如何查看/显示已完成的 git 合并冲突解决方案?

    当您解决冲突 然后暂存更改 然后执行 git diff 时 它会显示两列 和 一列代表 我们的 一列代表 他们的 给定存储库的 git 历史记录中的合并提交 我如何查看由其他人完成的解决方案 在其他情况下 我以前见过它 我想是在 gitk
  • 滚动到验证摘要 - ASP.net MVC

    当用户单击应用程序中导致验证错误的按钮时 是否有办法让页面滚动到验证摘要的位置 如果出现错误 我需要对这两种情况执行此操作 客户端验证阻止页面提交 服务器验证重新显示网页 在 MVC 中是否有一种简单的方法可以实现这一点 jquery 滚动
  • 自定义 Android TabHost 慢片段

    我使用 ActionbarSherlock 和 SlidingMenu 我的 MainActivity 不访问数据库 也不解析任何内容 一切都是静态的 根据您从滑动菜单中选择的 部分 动态生成选项卡 单击 2 次后 应用程序变得非常慢 下面
  • 检查android应用程序是否在前台? [复制]

    这个问题在这里已经有答案了 我针对这个问题找到了很多答案 但这都是关于单个活动的 如何检查整个应用程序是否在前台运行 我不明白你想要什么 但你可以检测当前的前台 后台应用程序ActivityManager getRunningAppProc