Skip to content

Flutter 앱 두 번 뒤로가기로 앱 종료하는 법

Notifications You must be signed in to change notification settings

chihyeonwon/Flutter-BackButton

Repository files navigation

backbutton

보통의 앱들은 뒤로가기 버튼을 눌러서 앱 종료를 할 때 
사용자들의 앱 종료 의사를 한번 더 물어보고 종료를 합니다.

뒤로가기 버튼을 눌렀을 때 토스트 형식의 메시지를 출력하면서
앱 종료 의사를 한 번더 물어보는 기능을 추가해보았습니다.

뒤로 가기 버튼 한번 -> 토스트 메시지 출력(정말로 종료하시겠습니까?)
토스트 메시지가 출력된 후 2초 안에 뒤로 가기 버튼 한번 더 (앱 종료)

image

필요한 패키지 추가

토스트 메시지를 띄우기 위한 fluttertoast를
추가하였습니다.  

image

토스트 함수 로직

뒤로가기 한번을 누르고 2초안에 한 번더 누르면 앱이 종료되어야 하기 때문에
현재 시간을 now로 선언하고 difference 메소드를 사용해서 시간 차이를 구해주었습니다.
2초 안에 뒤로가기 버튼을 두 번 누르지 않으면 toast 메시지가 출력됩니다.

image

WillPopScope의 사용

WillPopScope를 사용하면 Scaffold 위젯을 감싸서 뒤로가기 버튼을 가로챌 수 있습니다.
위에서 생성한 함수를 onWillPop 프로퍼티의 값으로 전달하고 onWillPop 함수의 리턴값이 true일때
뒤로가기 버튼이 작용하여 앱이 종료됩니다. false일 때는 화면에 남게 됩니다(2초 동안 뒤로가기 버튼이 안눌러졌을때).

image

향후 프로젝트에 어떻게 사용할 것인가?

향후 프로젝트에서 메인 페이지에 위의 코드를 util 폴더에 담은 뒤에 사용해서 
사용자에게 편의를 줄 수 있을 것으로 예상합니다.

About

Flutter 앱 두 번 뒤로가기로 앱 종료하는 법

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published