【问题标题】:Preventing application exit in TideSDK防止 TideSDK 中的应用程序退出
【发布时间】:2012-10-24 00:48:20
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: events exit tidesdk


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢,看来这不可能?考虑关闭应用程序仅将应用程序“停靠”到任务栏的行为。这是我正在考虑的用例。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      • 2022-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-30
      相关资源
      最近更新 更多