Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- usb efi 시스템 파티션 삭제
- (using password: YES)" when trying to connect
- 세로 중앙 정렬
- PHP 구글 OTP 연동
- html pdf 변환
- 파라미터 & 오류
- svn 충돌 해결 resolved
- PHP 구글 OTP 인증
- 비밀번호검증정규식
- libxrender1
- mysqldump: Got error: 1045
- mysql root 비밀번호 변경
- bootstrap
- apache mod rewrite
- 구글 OTP 인증
- JQuery checkbox 컨트롤
- 부트스트랩4 세로 중앙 정렬
- javascript
- 우분투 mysql 비밀번호 없이 로그인 될때
- wkhtmltopdf 실행 오류
- 비밀번호정규식
- 자바스크립트비밀번호검증
- bootstrap modal
- modsecurity 설치
- group_concat 구분자
- magic bytes
- 아파치 웹 서버의 정보 숨기기
- svn 충돌 해결 resolve
- PHP 정규식 예제
- php 특정 문자열 취환
Archives
- Today
- Total
투덜이 개발자
[Android] 웹뷰 WebView Back 키를 눌러서 뒤로가기 본문
반응형
[Android] 웹뷰 WebView Back 키를 눌러서 뒤로가기
Back 키를 누르거나 canGoBack() 메소드 이벤트 발생시 앱이 종료가 되는게 아니라 웹페이지 전 페이지로 넘어가게 할 수 있습니다.
goBack()을 이용하여 웹뷰에서 뒤로가기를 설정 할 수 있게 합니다.
// Back 키를 눌러서 뒤로가기 Start
@Override
public boolean onKeyDown(int KeyCode, KeyEvent event){
if((KeyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()){
mWebView.goBack();
return true;
}else{
return super.onKeyDown(KeyCode, event);
}
}
// @Override
// public void onBackPressed() {
// if(mWebView.canGoBack()){
// mWebView.goBack();
// }else{
// super.onBackPressed();
// }
// }
// Back 키를 눌러서 뒤로가기 End
웹뷰를 사용할때 뒤로가기 버튼으로 인해 DB INSERT 가 중복 되는 경우가 발생합니다.
웹페이지에서는 db 인서트 후 location.href 로 임시 페이지로 이동 시켜서 처리하고,
단말기에서 2초 안에 뒤로가기 두번 클릭시 onBackPressed(); 호출 하는 방식으로 수정하였습니다.
// Back 키를 눌러서 뒤로가기 Start
private long backKeyPressedTime = 0;
@Override
public boolean onKeyDown(int KeyCode, KeyEvent event){
long curTime = System.currentTimeMillis();
long gapTime = curTime - backKeyPressedTime;
if((KeyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()){
if(0 <= gapTime && 2000 >= gapTime) {
super.onBackPressed();
return true;
} else {
backKeyPressedTime = curTime;
mWebView.goBack();
return true;
}
}else{
return super.onKeyDown(KeyCode, event);
}
}
반응형
'Program Language > Android' 카테고리의 다른 글
Android13(SDK33) 저장소 권한 문제 (0) | 2023.09.13 |
---|---|
[안드로이드 스튜디오] 'mainMergedManifest' does not exist. 문제 해결 (0) | 2022.10.06 |
구글에서 거절 사유로 ‘앱 검토에 로그인 사용자 인증 정보 필요’ 안내를 받은 경우 (0) | 2022.09.05 |
구글에서 거절 사유로 ‘앱 검토에 로그인 사용자 인증 정보 필요’ 안내를 받은 경우 (0) | 2022.09.05 |
javascript로 웹에서 App 열기 시 파라미터 전송 (0) | 2021.09.10 |