【发布时间】:2014-07-08 13:10:02
【问题描述】:
查看文档,似乎可以使用警报 api 在某个时间重新启动应用程序
我以这种方式更改了样板示例中的代码
// Alarm API
var alarmDate = new Date("Jul 8, 2014 19:35:00"),
addAlarm = document.querySelector("#add-alarm"),
alarmDisplay = document.querySelector("#alarm-display");
if (addAlarm) {
addAlarm.onclick = function () {
var alarm = navigator.mozAlarms.add(alarmDate, "honorTimezone", {
"optionalData" : "I am data"
});
alarm.onsuccess = function () {
var request = window.navigator.mozApps.getSelf();
request.onsuccess = function() {
navigator.mozSetMessageHandler("alarm", function (mozAlarm) {
request.result.launch();
alert("alarm fired: " + JSON.stringify(mozAlarm.data));
});
};
request.onerror = function() {
alert("Error: " + request.error.name);
};
};
代码似乎只有在应用程序正在运行(即使在后台)时才会启动应用程序,但如果应用程序关闭则不会。
这是预期的行为吗?有什么方法可以重启一个关闭的应用?
还可以在前台调出应用程序并使其解锁屏幕吗?
谢谢
更新 澄清一下,当系统内存加载需要终止应用程序时,就会出现问题。 Android 提供了一种安排应用程序重启的方法(而 iOS,afaik,没有......)。 如果可以在需要时重新启动应用程序,那将很有用。 这也节省了很多电池...
【问题讨论】:
标签: javascript background alarm foreground firefox-os