android:如何检查应用程序是否在后台运行2

2024-04-12

我有解决办法。

public static boolean isApplicationSentToBackground(final Context context) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
  ComponentName topActivity = tasks.get(0).topActivity;
  if (!topActivity.getPackageName().equals(context.getPackageName())) {
    return true;
  }
}

return false;

}

效果很好。

我如何检查我的应用程序是否确实在后台运行?例如,我打开活动并启动新的活动 - 标准库(从我的应用程序启动)。这个意图是从我的活动开始的,我的应用程序逻辑上位于前台。我可以检查我的活动,但如何检查这种情况呢?

我如何检查应用程序是否已从外部活动发送到后台(在此示例中 - 画廊)?


public boolean isApplicationSentToBackground(final Context context) {

  Boolean flag = false;
  ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
  if (Build.VERSION.SDK_INT >= 23) {
    List < ActivityManager.RunningTaskInfo > tasks = am.getRunningTasks(1);
    if (!tasks.isEmpty()) {
      ComponentName topActivity = tasks.get(0).topActivity;
      if (!topActivity.getPackageName().equals(context.getPackageName())) {
        flag = true;
      }
    }
  } else {
    try {
      Thread.sleep(1500);
      flag = false;
      List < ActivityManager.RunningAppProcessInfo > runningProcesses = am.getRunningAppProcesses();
      for (ActivityManager.RunningAppProcessInfo processInfo: runningProcesses) {
        if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
          for (String activeProcess: processInfo.pkgList) {
            if (activeProcess.equals(context.getPackageName())) {
              flag = true;
            }
          }
        }
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
  return flag;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android:如何检查应用程序是否在后台运行2 的相关文章

  • 使用 GoogleServices 插件时忽略 Gradle ArchivesBaseName

    我经常使用 archivesbasename 来重命名我的输出 apk 但自从使用 google services 插件后 它就被忽略了 我能做些什么来让它再次工作吗 下面附上了我完整的 build gradle 感谢您的指点 apply
  • 添加动态数据时 footable 出现问题

    我需要 jQuery Mobile 方面的一些帮助富表 http css tricks com footable a jquery plugin for responsive data tables 我正在表中动态添加数据 HTML tab
  • 在代码中旋转按钮(或其中的文本)

    我必须通过编码随机旋转按钮 或里面的文本 它是相同的 API级别低于11是否有button setRotate x 好吧 看了一下 答案是 很复杂 您可以使用旧的动画框架旋转按钮 例如像这样 Button button Button fin
  • 编译后从字节代码中删除注释

    我们正在使用一个包含使用 JAXB 注释进行注释的 bean 的库 我们使用这些类的方式完全不依赖于 JAXB 换句话说 我们不需要 JAXB 也不依赖注释 但是 由于注释存在 它们最终会被处理注释的其他类引用 这要求我将 JAXB 捆绑到
  • Android 中的 java.util.Observable 是线程安全的吗?

    Android 中的 java util Observable 是线程安全的吗 这文档 http developer android com reference java util Observable html说只有deleteObser
  • Android 5.0 Lollipop 中屏幕固定关闭时如何收到通知?

    我有一个在后台运行的应用程序 并在手机上发生特定事件时启动活动 我发现在 Android 5 0 中 当用户使用另一个应用程序打开屏幕固定时 startActivity intent 调用将被完全忽略 我的应用程序不知道该活动尚未启动 因此
  • 游标索引越界异常

    打开后出现光标索引越界错误 数据库 请任何人告诉我如何打开现有数据库 sqllite Android 我想在数据库上触发一个选择查询 检索一些信息 public void getPatient SQLiteDatabase db Strin
  • Android CursorAdapter、ListView 和后台线程

    我一直在开发的这个应用程序有包含数兆字节数据的数据库可供筛选 许多活动只是列表视图 通过数据库中的各个级别的数据下降 直到到达 文档 即从数据库中提取并显示在手机上的 HTML 我遇到的问题是 其中一些活动需要能够通过捕获击键并重新运行带有
  • 需要在 Android 中伪造正在扫描的 NFC 标签

    好的 我有一个应用程序 此应用程序仅在扫描 NFC 标签 任何标签 时才会完成任务 唯一的问题是 我没有任何 nfc 标签 无论如何 我正试图消除对卡的需要 所以我需要的是一种 伪造 使其看起来 就像已扫描 nfc 标签的方法 我可以编写应
  • 在后台服务中持续获取位置更新

    我正在开发需要在后台服务中持续获取位置更新的应用程序 我已经使用了它正在使用的后台粘性服务 但是 即使我添加了启动广播并在那里启动了服务 启动完成后服务也没有启动 服务启动并立即被杀死 另外 这不适用于奥利奥 服务在应用程序关闭几分钟后停止
  • 如何使用 Swipe 视图实现 Android TabLayout 设计支持库

    我将使用 android TabLayout 设计支持库 但我不知道如何使用滑动视图 这是我的代码 XML
  • Android 消费品:“已经拥有该商品”,但 inventory.hasPurchase() 为 false

    我被 Google In App v3 困住了 我测试了一次没有消费的购买 例如 当应用程序在购买和消费之间崩溃时 现在我找不到出路 如果我尝试再次购买 它会显示 您已经拥有该商品 但是当我测试所有权时 它说我不拥有它 Inventory
  • Spotify 登录错误 INVALID_CLIENT:无效的重定向 URI android

    我正在制作一个包含 Spotify 集成的应用程序 我点击了此链接https developer spotify com technologies spotify android sdk tutorial https developer s
  • 截图显示黑色

    我正在拍摄快照并创建缩略图 然后共享此图像 但缩略图显示全黑 我使用了以下代码 Bitmap bitmap View v1 v getRootView v1 setDrawingCacheEnabled true bitmap Bitmap
  • 按名称获取 ArrayList

    这是正确的获取方式吗ArrayList
  • 将 Crashlytics 集成到图书馆项目

    我有一个图书馆项目 自定义视图库项目 它没有任何活动 服务 我想将 Crashlytics SDK 集成到我的库中 当我尝试通过 Android Studio 的 Crashlytics 插件 工具栏中的图标 添加它时 它只是停留在 Che
  • 动态创建 JSON 对象

    我正在尝试使用以下格式创建 JSON 对象 tableID 1 price 53 payment cash quantity 3 products ID 1 quantity 1 ID 3 quantity 2 我知道如何使用 JSONOb
  • 制作弹跳动画

    我想做图层的弹跳动画 我已经完成了该图层从右到中心的操作 现在我想将其向后移动一点 然后回到中心 这会产生反弹效果 我想我可以用这样的翻译来做到这一点
  • 改造方法调用可能会产生“java.lang.NullPointerException”

    使用 Retrofit 2 3 0 我在 Android Studio 中收到以下消息 有关如何删除此 IDE 错误消息的任何建议 谢谢 来自Response文档 http square github io retrofit 2 x ret
  • Application.onLowMemory() 未调用

    我创建了自己的应用程序类 我尝试调试它 代码在 Application onCreate 处停止 但不会在 onLowMemory 处停止 为了测试该场景 我打开了许多其他高内存应用程序 我看到的是调试会话终止 在 Eclipse 中 并且

随机推荐

  • vscode 中使用 antd 框架的按钮提示

    我在 vscode 中使用 antd 的按钮和输入 但它在按钮上显示错误 我想知道为什么 我试过输入法 没有显示错误 如图所示 import React from react import styles from index css imp
  • 更新 ZipArchive 中的文件

    我有一个 ZipArchive 对象 其中包含我正在修改的 XML 文件 然后我想返回修改后的 ZipArchive 这是我的代码 var package File ReadAllBytes location of existing zip
  • Composer - vcs 上请求的包问题

    我分叉了https github com calebporzio onboard https github com calebporzio onboard to https github com mpjraaij onboard tree
  • 如何防止递归函数重新初始化累加变量?

    这个函数是用 JavaScript 编写的 但我认为这个概念可以用其他一些编程语言来实现 function uniteUnique arr let seenBefore the accumulating array for let item
  • 如何使用 Altair 显示百分比直方图而不是计数

    如何使用 Altair 和 Pandas 获取总数百分比直方图而不是计数直方图 我现在有这个 我通过这样做得到了 d age 12 32 43 54 32 32 12 dfTest pd DataFrame data d alt Chart
  • 如何降低 PickerView 中选择行的速度?

    我的目标是创建一台老虎机 其中的行一排一排地旋转 它们需要一排一排地停止旋转 然而 为了让它看起来漂亮 这些行需要旋转至少 3 秒 我认为 PickerView 是最好的选择 因为我不知道如何以不同的方式进行这项工作 当这是我的代码时 se
  • symfony 每个块都有无空间

    我如何用无空间包装每个块代码以从我的 twig html 中裁剪空白 例如现在我有 block content div class box clearfix clearall div class ct colcontainer div cl
  • 在 R 中模拟不同初始条件的 ODE 模型

    我有一个模型 我想生成随机初始条件 运行模型并保存输出 以便每个模拟都是重复的 但我很难解释和实现循环 而且我也知道它们并不总是在 R 中最好使用 所以我很挣扎 我的最终目标是在 10 个不同的随机初始条件下迭代模拟 并保存 ODE 的输出
  • MySQL中如何查询某列的变化次数

    我有一个表存储具有两个属性的项目 所以该表有三列 item id property 1 property 2 insert time 1 10 100 2012 08 24 00 00 01 1 11 100 2012 08 24 00 0
  • 如何从命令行运行单个 gradle 任务

    在我的项目中 我的 build gradle 中有几个任务 我希望这些任务在运行时是独立的 即我需要从命令行运行单个任务 但是命令 gradle taskA 将同时运行我不想要的taskA和taskB 如何阻止任务正在运行 这是我正在做的事
  • boost.test 与 CppUnit

    我已经使用 CppUnit 一段时间了 并且对此感到满意 随着我们使用 boost 库的越来越多的部分 我对 boost test 进行了简短的了解 现在我想知道是否应该在新项目中切换到 boost test 这里有人能告诉我这两个框架之间
  • 哪个队列与 requestAnimationFrame 关联?

    今天我在接受采访时被问到这个问题 我无法回答这个问题 面试官说有一个特殊的队列用于 requestAnimationFrame 回调 但我找不到任何这方面的信息 如果 rAF 有它自己的队列 那么为什么这个队列从未在任何地方被提及 当我们谈
  • 任何免费的 UPC/条形码 DB [已关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么 Windows 身份验证可以从本地到服务器工作,但不能从服务器到服务器工作?

    我有两个网站 A and B A使用一个 APIB暴露 并且B需要 Windows 身份验证 两个站点都位于域中D API 通过以下方式使用HttpClient 以及当站点A在我的域帐户下本地运行 位于 DomainP 访问被授予 在这种情
  • Webdriver (c#) - 大概通过文本查找按钮

    我正在努力抓住按钮 有人能向我指出如何获取按钮句柄并使用 xpath 或 css 选择器单击它的正确方向吗 这是代码
  • 将字符串转换为静态字符串

    Swift 3 0 有没有办法获得StaticString键入一个String类型哪个复杂 示例 需要转换才能工作 let aString StaticString One part Second part 这是不可能的 因为StaticS
  • 在 Swift 中解码 JSON 中的 base64_encode 图像

    我有一个 mysql 数据库 其中包含一些图像 我从 php 文件接收数据 php result key image based64 encode resultArray key image 现在有了 Json 文件 我得到如下内容 Jso
  • 如何在CSS中绘制可配置的饼图

    从链接http www kylejlarson com blog 2011 how to create pie charts with css3 http www kylejlarson com blog 2011 how to creat
  • 切片 Pandas 时出现值错误

    我有一个 DataFrame 我想使用 string contains 方法 我相信当我阅读时我已经找到了如何做到这一点pandas dataframe 按部分字符串选择 https stackoverflow com questions
  • android:如何检查应用程序是否在后台运行2

    我有解决办法 public static boolean isApplicationSentToBackground final Context context ActivityManager am ActivityManager cont