Google chrome 如何识别前景';app&x27;在Chrome操作系统上?

Google chrome 如何识别前景';app&x27;在Chrome操作系统上?,google-chrome,google-chrome-extension,google-chrome-app,google-chrome-os,Google Chrome,Google Chrome Extension,Google Chrome App,Google Chrome Os,我正在尝试为Chrome操作系统创建一个Chrome扩展(或应用程序),用于监视用户当前正在与之交互的前台应用程序 例如,如果用户: 播放《愤怒的小鸟》几分钟;然后 使用Chrome浏览一些网页,最后 使用计算器进行一些计算 然后,我希望我的扩展(或应用程序)能够在这三种转换发生时检测并响应它们。理想情况下,我想要捕获的关于应用程序的信息是应用程序名称(例如“愤怒的小鸟”)和/或应用程序id(例如com.somecompany.someapp) 我已经尝试过几种chrome.*API,但到目前为

我正在尝试为Chrome操作系统创建一个Chrome扩展(或应用程序),用于监视用户当前正在与之交互的前台应用程序

例如,如果用户:

  • 播放《愤怒的小鸟》几分钟;然后
  • 使用Chrome浏览一些网页,最后
  • 使用计算器进行一些计算
  • 然后,我希望我的扩展(或应用程序)能够在这三种转换发生时检测并响应它们。理想情况下,我想要捕获的关于应用程序的信息是应用程序名称(例如“愤怒的小鸟”)和/或应用程序id(例如com.somecompany.someapp)

    我已经尝试过几种chrome.*API,但到目前为止我还没有任何运气:

    • chrome.windows
      chrome.tabs
      只能枚举浏览器窗口/选项卡(而不是应用程序的窗口/选项卡)
    • chrome.app.window
      只能枚举属于自己应用程序的窗口(而不是其他应用程序)
    • 应用程序只发送自己的
      chrome.app.runtime
      lifecycle事件,而不发送其他应用程序的事件
    • 我可能能够在chrome.desktopCapture提供的屏幕上使用OCR,但我可能必须为我想要支持的每个应用程序编写特定的代码,这将非常占用CPU

    我有幸在其他平台(Windows、Mac、Linux甚至Android)上使用可访问性客户端API(残疾人屏幕阅读器使用的相同API)做过类似的工作。不幸的是,Chrome操作系统似乎无法为第三方可访问性客户端提供便利。

    此处列出了Chrome扩展和应用程序API:

    (Un)幸运的是,没有任何东西允许在您的上下文之外监视用户活动。应用程序通常仅限于其中发生的事情(加上一些硬件通知),扩展通常仅限于浏览器中发生的事情

    您可以在浏览器/应用程序中检测到焦点丢失,但无法判断焦点去了哪里。

    例如,
    chrome.windows.onFocusChanged
    扩展事件将报告所有不属于浏览器的窗口的
    -1
    ,即使它是chrome应用程序。

    有一个功能请求,要求在chrome.windows.getAll()的结果中添加更多的窗口类型——请参阅我认为这是不可能的。但为什么你想用不同于网站的方式对待应用程序?@DanielHerr我不想用不同的方式对待应用程序。正如我在我的问题中所解释的,是chrome.*API区别对待它们。chrome.*API返回的是关于浏览器窗口/选项卡的信息,而不是应用程序窗口。我认为这可以通过@wOxxOm实现。我收集的只是一个与本机进程通信的API。。。我将如何使用它来识别前台应用程序?您将创建一个用户单独安装的本机应用程序。