我正在尝试为Chrome操作系统创建Chrome扩展程序(或应用程序),以监控用户当前正在与之交互的前台应用程序。
例如,如果用户:
然后我希望我的扩展程序(或应用程序)能够在发生这三个转换时检测并响应它们。理想情况下,我想要捕获的应用程序信息是应用程序名称(例如"愤怒的小鸟")和/或应用程序ID(例如com.somecompany.someapp)。
我已经尝试了几种chrome。* API,但到目前为止我还没有运气:
chrome.windows
和chrome.tabs
只能枚举浏览器窗口/标签(不是应用程序)。chrome.app.window
只能枚举属于其拥有应用程序(不是其他应用程序)的窗口。chrome.app.runtime
生命周期事件,而不是其他应用的事件。chrome.desktopCapture
提供的屏幕演示中使用OCR,但我可能必须为每个我想要支持的应用编写特定的代码,这将非常占用CPU。我很幸运在其他平台(Windows,Mac,Linux甚至Android)上使用辅助功能客户端API(屏幕阅读器为残障人士使用相同的API)做了类似的工作。很遗憾,Chrome操作系统似乎并不能帮助第三方辅助功能客户端。
答案 0 :(得分:1)
要为chrome.windows.getAll()的结果添加更多窗口类型的功能请求 - 请参阅http://crbug.com/394341
答案 1 :(得分:0)
此处列出了Chrome扩展程序和应用API:Extensions,Apps。
(联合国)幸运的是,没有任何内容可以允许在您的上下文之外监视用户活动。应用程序通常仅限于它们中发生的事情(加上一些硬件通知),而扩展通常仅限于浏览器中发生的事情。
您可以在浏览器/应用中检测焦点丢失,但无法确定焦点的位置
例如,chrome.windows.onFocusChanged
扩展事件将为不属于浏览器的所有窗口报告-1
,即使它是Chrome应用。