2012-10-24 54 views
0

我试图阻止用户关闭窗口,当他们点击关闭按钮。我想让应用程序停靠在系统托盘上。TideSDK防止应用程序退出

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

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

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

回答

0

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

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

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

+0

谢谢,看起来好像不可能呢?考虑关闭应用程序只会将应用程序“停靠”到任务栏的行为。这是我想到的用例。 –

0

一个窍门可能是为应用程序打开一个“隐形”窗口,因此即使用户关闭了“应用程序”窗口,该应用程序仍应运行。