Events Firefox操作系统中的广播事件

Events Firefox操作系统中的广播事件,events,firefox-os,Events,Firefox Os,我想知道是否有一种方法可以让Firefox OS应用程序向所有其他应用程序广播一个事件,并让感兴趣的应用程序钩住该事件并触发相应的操作 我想到的一个用例示例:Camera应用程序广播事件“picture take”,另一个应用程序钩住此事件,并对已拍摄的新图片采取一些操作(例如,将其上载到服务器)。来自本文[1]: 应用程序作者可以构建一个将处理一个或多个活动的应用程序。这意味着另一个应用程序可以调用该应用程序来执行活动定义的某些特定操作。例如,让我们假设我们想要构建一个照片管理器。它可以被另一

我想知道是否有一种方法可以让Firefox OS应用程序向所有其他应用程序广播一个事件,并让感兴趣的应用程序钩住该事件并触发相应的操作

我想到的一个用例示例:Camera应用程序广播事件“picture take”,另一个应用程序钩住此事件,并对已拍摄的新图片采取一些操作(例如,将其上载到服务器)。

来自本文[1]:

应用程序作者可以构建一个将处理一个或多个活动的应用程序。这意味着另一个应用程序可以调用该应用程序来执行活动定义的某些特定操作。例如,让我们假设我们想要构建一个照片管理器。它可以被另一个应用程序用来挑选照片。作为活动处理程序,我们的应用程序将成为其他应用程序工作流的一部分


[1]

Firefox操作系统中目前没有向所有打开和/或感兴趣的应用程序广播事件的web API

对于您的应用程序在相机拍摄新照片时收到通知的特定用例,最好的方法可能是打开设备存储“图片”并收听“更改”事件

有关文件载于:

存在替代方案,但功能上受到更多限制,并且在较少的版本和上下文中可用:

  • 系统可以广播消息,但只有经过认证的应用程序才能收听

  • 应用程序间通信API允许web应用程序向一个或多个其他应用程序发送消息,但其耦合方式比普通广播更紧密。但是,此API尚未标准化,仅适用于经认证的应用程序

  • 对于未经认证的应用程序,很快就可以访问系统首选项,也许可以用来实现这一点,但这是一种实现消息和数据共享的黑客方式


注意:对于这里的每个示例,您的应用程序都必须运行才能正常工作。当特定动作或事件发生时,没有唤醒应用程序的机制。Web活动是最接近事件特定应用程序加载的API。Timers API用于非特定的应用程序加载。

我知道网络活动,但我想做的事情是无法实现的。好吧,简单的推送通知API也可以用于唤醒应用程序。也许它对于简单的交互来说太复杂了,但Whatsapp客户端就是这么做的(与Alarm API混合在一起)。另一个解决方案,我从#gaia频道上的“dmarcos”听到的,就是滥用设置API,通过修改和监听设置值。不推荐使用,但在过去,它是用来模拟跨应用程序事件的。是的,这在我上面的列表中是第3个。有点黑,而且还不适用于未经认证的应用:)对不起,完全一样:)我误读了你的#3。我接受了答案,这正是我想要的,谢谢。