您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“Flutter怎么實現點擊兩次退出app”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Flutter怎么實現點擊兩次退出app”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
在安卓手機上才會有物理返回鍵,而ios手機是沒有的,所以說這個是安卓手機獨有的功能。
使用場景:當用戶在某一段時間內連續點擊兩次返回鍵,才會被認為是退出應用。
在Flutter中想實現這個功能,首先我們先來認識一個Flutter中的組件WillPopScope,在Flutter中我們是用這個組件來實現物理返回鍵攔截的,從而實現點擊兩返回鍵退出應用。
onWillPop是他的一個回調函數,當用戶點擊返回按鈕時被調用(Android物理返回按鈕),該回調需要返回一個Future
對象,如果返回的Future
最終值為false
時,則當前路由不出棧(不會返回);最終值為true
時,當前路由出棧退出。我們需要提供這個回調來決定是否退出。
DateTime? lastPopTime;
onWillPop: () async { if (lastPopTime == null || DateTime.now().difference(lastPopTime!) > Duration(seconds: 1)) { lastPopTime = DateTime.now(); ToastUtils.showToast("再按一次退出"); return Future.value(false); } else { lastPopTime = DateTime.now(); // 退出app return Future.value(true); } });
DateTime? lastPopTime;
onWillPop: () async { // webViewController?.goBack(); // return Future.value(false); if (lastPopTime == null || DateTime.now().difference(lastPopTime!) > Duration(seconds: 1)) { lastPopTime = DateTime.now(); if (await webViewController?.canGoBack() == true) { await webViewController?.goBack(); } else { ToastUtils.showToast("再按一次退出"); } return Future.value(false); } else { lastPopTime = DateTime.now(); // 退出app return Future.value(true); // await SystemChannels.platform.invokeMethod('SystemNavigator.pop'); } });
讀到這里,這篇“Flutter怎么實現點擊兩次退出app”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。