-
안드로이드 스튜디오에서 디바이스 연결이 끊어질 경우 다시 연결하는 방법
안드로이드 앱을 개발시 에뮬레이터를 사용하는 경우도 있으나 대부분의 경우는 실제 기기를 연결해서 작업하는 경우가 많다. 기존 에뮬레이터의 경우 너무 느린 속도와 호환 문제로 잘 사용하지 않는다. 최근 성능과 안정성이 많이 개선 되었다고는 하나 아직 여러가지 문제가 있다(예를들어 vagrant와 동시에 사용할 수 없다). 기기를 사용해서 작업하는 경우 거추장스러운 선을 제거하기 위해 WIFI를 연결해서 디버깅하는 경우(안드로이드 스튜디오에서 WIFI로 Run/Install/Debug 하기)도 있으나 연결의 귀찮음과 안정성 문제로 직접
-
Google Service Library 9.6.0 사용시 READ_PHONE_STATE 권한이 추가되는 문제
최근 서비스 중인 앱에서 사용중이던 Google Service Library의 버전을 최신 버전으로 변경했다. 기존에 사용중이던 버전은 9.2.1 이었다. 얼마전 9.4.0으로 변경된 것을 확인하고 9.4.0을 적용했다. debug 모드와 release 모드에서의 동작을 확인한 후 "베타 테스트"에 올려 보니 이상하게도 모든 테스트 기기에서 앱이 응답하지 않는 문제가 확인되었다. 오류 보고나 기록이 나타나는 것도 아니어서 문제 확인이 어려웠고 처음엔 다른 작업 중에 변경한 코드들에서 원인이 있을 것이라고 추측 했었다. 하지만 많은
-
안드로이드 WebView에서 HTML5 Video Full Screen 지원
안드로이드 WebView에서 HTML5 Video를 재생할 경우 "전체창으로 보기"를 사용할 수 있다. 그런데 자동적으로 사용할 수 있는 것이 아니라 관련된 처리를 직접 해주어야 한다. 필요한 처리는 아래와 같다. WebView에 WebChromeClient를 설정해 주어야 한다. 그렇지 않으면 4.0 이후에서 NullPointerException이 발생한다. WebChromeClient를 설정하더라도 [onShowCustomView()](https://developer.android.com/reference/android/webk
-
안드로이드 WebView resumeTimers() / pauseTimers() 적용하기
안드로이드의 WebView를 사용하다 보면 처음 페이지를 보여줄 때는 정상적으로 보이나 두 번째 이후부터 페이지를 정상적으로 표시하지 못하는 경우가 있다. 이 경우는 여러가지 이유로 발생할 수 있으나 오늘은 pauseTimers / resumeTimers 때문에 발생하는 경우에 대한 이야기를 하고자 한다. 우선 이 함수들이 필요한 이유부터 간단히 알아보자. 메뉴얼에서 pauseTimers를 찾아보면 아래와 같이 설명되어 있다. Pauses all layout, parsing, and JavaScript timers for all W
-
Android 4.4.3, 4.4.4 Webview Referer 오류 수정
안드로이드 WebView를 사용하면서 특정 페이지로의 접근시 Referer를 지정해서 넘기도록 처리해서 사용중인 앱이 있다. 그런데 테스트 도중 이상한 문제가 발생했다. Android 4.4.4에서만 지정한 Referer를 무시하고 넘기지 않는 것이다. 그래서 조금 찾아보니 아래와 같은 글들이 있었다. Webview/UIWebview Header에 HTTP Referer 추가 Android OS 4.4 이상의 단말에서는 Webview가 Chromium기반으로 변경되면서 Referer 추가해도 HTTP Header에 설정이 되지 않는