我想在一个警报被解雇时打开一个应用程序。我可以用警报API发射警报,但我不知道在发出警报时如何打开应用程序。现在,当发出警报时,应用程序被打开但在后台。

我有Firefox OS 1.1。

有帮助吗?

解决方案

如果您要启动的唯一应用程序是您的应用程序,那么您可以使用打开Web Apps API 并写作以下内容:

var request = window.navigator.mozApps.getSelf();
request.onsuccess = function() {
  if (request.result) {
    setTimeout(function() {
      request.result.launch();
    }, 10000);
  } else {
    alert("Called from outside of an app");
  }
};
request.onerror = function() {
  alert("Error: " + request.error.name);
};
.

上面的例子将在10秒后启动(引入前景)您的应用程序。

Request.Result是一个 app对象它描述了您的应用程序。


如果您想启动其他应用程序,则必须使用 mozapps.mgmt.getall()要查找其他应用程序(它返回为Request.Result已安装的应用程序 - app对象)。要使用此API,您的应用应该是 privileged 一个。对于代码示例,请检查盖亚源代码您可以在 github

免责声明:在某些情况下,Mozapps.mgmt方法需要您的应用程序进行认证,我不是100%确定它是否与mozapps.mgmt.getAll()发生。如果有人知道请编辑我的答案或发表评论。谢谢!

其他提示

您也可以使用 mozactivity 打开另一个应用程序,请参考相机和图库应用程序。在 camera.js:775-789 它使用Mozactivity来开放式画廊:

var a = new MozActivity({
  name: 'browse',
  data: {
    type: 'photos'
  }
});
.

,您需要为您的应用程序添加Manifest.WebApp中的Avtivities:

"activities": {
  "browse": {
    "filters": {
      "type": "photos"
     },
    "disposition": "window"
  },
  ...
}
.

在应用程序中有一个样本到开放的图库:

http://jsfiddle.net/f6aec/

,您还可以在Firefox OS电话中打开此链接,安装和测试它:

http://jsfiddle.net/f6aec/fxos.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top