안녕하세요. IT김군입니다.
Ionic Framework로 Cross Platform을 개발할 시 IOS는 종료의 기능을 지원하지 않으니 Android의 종료기능을 구현하셔야 될텐데요.
저 같은 경우는 뒤로가기 두 번으로 App을 종료하는 기능을 자주 사용합니다.
모든 페이지에 다 적용되도록 app.component.ts에 작업하였습니다.
우선 import 작업과 생성자에 선언 작업을 아래와 같이 해줍니다.
import { App, Platform , ToastController } from 'ionic-angular';
constructor(platform : Platform, private app : App, private toastCtrl : ToastController)
위의 작업이 완료되셨다면 저는 생성자 platform.ready().then(() => {'여기'}); 저 플랫폼레디 내부에 아래 소스를 넣었습니다.
// 뒤로가기 두 번 종료
platform.registerBackButtonAction(() => {
const overlay = this.app._appRoot._overlayPortal.getActive();
const nav = this.app.getActiveNav();
const closeDelay = 2000;
const spamDelay = 500;
if(overlay && overlay.dismiss) {
overlay.dismiss();
} else if(nav.canGoBack()){
nav.pop();
} else if(Date.now() - this.lastBack > spamDelay && !this.allowClose) {
this.allowClose = true;
let toast = this.toastCtrl.create({
message: "'뒤로가기' 버튼을 연속으로 두 번 누르시면 App이 종료됩니다.",
duration: closeDelay,
dismissOnPageChange: true
});
toast.onDidDismiss(() => {
this.allowClose = false;
});
toast.present();
} else if(Date.now() - this.lastBack < closeDelay && this.allowClose) {
platform.exitApp();
}
this.lastBack = Date.now();
});
넣고 나면 정상작동하는 것을 확인하실 수 있습니다.
궁금하신 점이나 제가 틀린 부분이 있다면 댓글달아주세요.
감사합니다.
'Ionic 개발 메모장' 카테고리의 다른 글
Ionic background에서 foreground로 넘어올 때 이벤트 (0) | 2018.01.22 |
---|---|
Ionic 토글(toggle) 사용하기 (설정) (2) | 2018.01.17 |
Ionic cordova IBeacon Advertise 감도조절 (for Android) (2) | 2018.01.15 |
Ionic 화면 세로로 고정하기 (화면회전 막기) (0) | 2018.01.15 |
Ionic cordova plugin Background Mode 사용 시 IOS에서 빌드가 안되는 현상 (0) | 2018.01.15 |
WRITTEN BY
- IT김군
S/W 개발자 김군의 메모장
,