2012-10-24 140 views
0

我試圖阻止用戶關閉窗口,當他們點擊關閉按鈕。我想讓應用程序停靠在系統托盤上。TideSDK防止應用程序退出

我的第一步是識別用戶何時嘗試關閉窗口並阻止該事件的默認行爲。我希望這段代碼能夠工作,但事實並非如此。

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

我試過使用exit事件和事件常量本身無濟於事。

回答

0

這不會工作,因爲當您調用preventDefault時,您所做的就是停止WebKit瀏覽器頁面中的默認行爲,而不是本機應用程序包裝本身。

close命令是對基礎包裝器的本機函數調用,它只是將一個事件傳遞給偵聽器,它不傳遞控制權。

此外,這聽起來有點危險,不允許用戶關閉應用程序似乎有問題。也許相反,你應該註冊一個後臺服務來運行?

+0

謝謝,看起來好像不可能呢?考慮關閉應用程序只會將應用程序「停靠」到任務欄的行爲。這是我想到的用例。 –

0

一個竅門可能是爲應用程序打開一個「隱形」窗口,因此即使用戶關閉了「應用程序」窗口,該應用程序仍應運行。