Notice
Recent Posts
Recent Comments
Link
투케이2K
223. (AndroidStudio/android/java) 안드로이드 웹뷰 (webview) 뒤로 가기 제어 실시 - canGoBack , getUrl 본문
Android
223. (AndroidStudio/android/java) 안드로이드 웹뷰 (webview) 뒤로 가기 제어 실시 - canGoBack , getUrl
투케이2K 2021. 11. 26. 09:02[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : java
[소스 코드]
// TODO [모바일 키 이벤트 발생 체크 부분]
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// [모바일 디바이스의 뒤로가기 키 이벤트가 발생한 경우]
if (keyCode == KeyEvent.KEYCODE_BACK) {
try {
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"[A_Main >> onKeyDown() :: 백버튼 터치시 뒤로 가기 이벤트 실시]");
Log.i("","\n"+"[getUrl() :: "+String.valueOf(main_webview.getUrl())+"]");
Log.i("","\n"+"[getOriginalUrl() :: "+String.valueOf(main_webview.getOriginalUrl())+"]");
Log.i("","\n"+"[canGoBack() :: "+String.valueOf(main_webview.canGoBack())+"]");
Log.w("//===========//","================================================");
Log.i("---","---");
/**
* [설 명]
* 1. 현재 웹 페이지 주소 확인 : getUrl , getOriginalUrl
* 2. 웹 페이지 내에서 뒤로가기 이벤트 수행 가능 여부 : canGoBack
* 3. 로직 :
* - 뒤로가기 이벤트 발생 시 >> 웹 페이지 뒤로가기 여부 체크 및 특정 주소인 경우 체크
* - 더이상 뒤로 갈 수 없는 경우나, 특정 주소인 경우 앱 종료 실시
* - 뒤로 갈 수 있는 경우나, 특정 주소가 아닌 경우 웹뷰 뒤로가기 수행 실시
*/
// [더이상 웹뷰에서 뒤로갈 페이지가 없을 경우 이거나 특정 주소인 경우]
if (main_webview.canGoBack() == false
|| String.valueOf(main_webview.getUrl()).equals("특정 주소")
|| String.valueOf(main_webview.getOriginalUrl()).equals("특정 주소")){
finish(); // [액티비티 종료]
overridePendingTransition(0,0);
}
// [웹뷰에서 뒤로 갈 페이지가 있는 경우]
else {
main_webview.goBack(); // [웹뷰 뒤로가기]
}
}
catch (Exception e){
e.printStackTrace();
}
}
return true;
}
반응형
'Android' 카테고리의 다른 글
Comments