0

我试图阻止用户在单击关闭按钮时关闭窗口。我想让应用程序停靠在系统托盘上。

我的第一步是识别用户何时尝试关闭窗口并阻止该事件的默认行为。我希望这段代码可以工作,但事实并非如此。

var appWindow = Titanium.UI.getCurrentWindow();
appWindow.addEventListener('app.exit', function(event){
  event.preventDefault();
})

我尝试使用exit事件和事件常量本身无济于事。

4

2 回答 2

0

一个技巧可能是为应用程序打开一个“不可见”窗口,因此即使用户关闭了“应用程序”窗口,应用程序仍应运行。

于 2012-10-29T22:01:40.677 回答
0

这不会起作用,因为您在调用 preventDefault 时所做的所有事情都是停止 WebKit 浏览器页面中的默认行为,而不是本机应用程序包装器本身。

close 命令是对底层包装器的本机函数调用,它只是将一个事件传递给侦听器,它不传递控制权。

此外,这听起来有些危险,不允许用户关闭应用程序似乎有问题。也许相反,您应该注册一个后台服务来运行?

于 2012-10-28T05:11:25.777 回答