Today
-
Yesterday
-
Total
-
  • 안드로이드 기본 HTML뷰어
    Soliloquy 2018. 9. 29. 12:39

     

     

     

    스마트폰 사용 중 이상하게 이메일로 받은 카드사나 통신사 요금 청구서와 같은 html파일들이 잘 열리지 않는 문제가 발생했다. 처음에는 이메일 서버에서 차단했나 싶었지만, PC에서 제대로 열리는 것을 봐서, 파일이나 인터넷 문제가 아니었다.

     

    보안메일의 복호화를 진행할 수 없습니다.

    (You can not proceed with the decryption of secure e-mail.)

     

     

    Android

    메일 앱을 이용하시는 경우 아래의 호환 가능한 프로그램을 설치하여 주십시오.

    (If you are using the Mail app, install a compatible program below.)

     

    명세서를 열면 나오는 메세지

     

    분명 예전에 사용하던 휴대폰은 문제없이 잘 열렸는데, 왜 이럴까... 명세서에 적힌 메세지에 따르면 다른 메일 앱이나 브라우저를 어플을 설치하라고 하는데, 별로 설치하고 싶지 않았다. 기기에 이상이 있는것도 아닌데, 굳이 깔아야 하나...

     

    문제가 일어나는 이유를 찾아보던 도중, 메일 앱에서 .HTML 파일을 열면 안드로이드 기본 HTML뷰어로 열린다는 사실을 발견했다. 설마 자바스크립트를 지원안하는 뷰어라서 그런가 싶어서 인터넷을 찾아보니, 정말 지원을 안했다.[각주:1] 보안상의 이유 때문인가? 같은 Webkit엔진을 쓰는게 아니었나?

     

    어쨋든 HTML뷰어 말고 웹 브라우저를 사용하면 볼 수 있다는 말이라면, HTML 파일을 다운로드 폴더에 받은 다음 직접 열면 되지 않을까? 해서 파일을 받은 뒤, 파일 관리자로 열었다. 이상하게도, 인터넷 브라우저로는 열리지 않고 내장HTML뷰어로만 열렸다.

     

    과거 무슨 앱으로 열지 선택하는 '연결할 앱' 선택 메뉴가 있었는데, 이번에는 왜 안뜨는 걸까... 설정에 가서 기본 앱 설정이 어떻게 되어있나 확인을 해봤다. 그랬더니 당연하게도, 브라우저 앱이 Chrome으로 맞춰져 있었다. 왜 기본 브라우저 앱 크롬이 안열리고 HTML뷰어가 열리는 걸까...

     

    이렇게 된 이상 브라우저에서 파일을 열어보기로 했다. 데스크탑에서 파일을 여는 것 처럼 주소창에 file://sdcard0 을 입력해서 들어가본다... 안된다... 더 많은 주소가 필요한듯 했다. 내부 주소는 어떻게 찾아야 하지...

     

    해결

     

    1. 브라우저의 file:///sdcard 기능을 활용[각주:2]

     

    인터넷을 찾아보니 file:// 가 아닌 file:///sdcard 로 들어가야 했다.[각주:3] 들어가니 내부 저장소 파일 목록들이 나열된 페이지가 나왔다. 여기서 Download 폴더를 찾아서 HTML 파일을 열어보니, 문제 없이 잘 열린다.

     

     

    Index of /sdcard/

    Name Size Date Modified

    Android/

    8/1/18, 11:31:48 PM

    Data/

    3/7/18, 9:53:50 PM

    Download/

    8/18/18, 2:23:06 PM

    브라우저로 본 내부 저장소

     

    그런데 매번 이렇게 브라우저로 여는건 불편하다. 이왕이면 바로 열리는게 좋은데... 어떻게 내장 HTML뷰어 보다 인터넷 브라우저를 우선적으로 사용 할 수 있는 방법이 없을까 하다가, 생각외로 가까운 곳에서 답을 찾을 수 있었다.

     

    2. 가장 확실한 방법 - 기본값 초기화

     

    .HTML 파일을 여는것과 브라우저 앱 설정은 별개인가 보다. 휴대폰의 설정 - 앱(시스템 앱도 표시) - HTML뷰어 에 위치한, '기본 설정 삭제' 버튼을 누른다. 그 후에 다시 .HTML을 열면 브라우저를 쓸건지, HTML뷰어를 사용할 건지 물어본다. 이 때 브라우저를 선택하면 된다.

     

    '기본 설정 삭제'를 한 상태 (기종: 삼성 갤럭시, OS v7.0)

     

     

    여담

     

    • 별거도 아닌 문제였는데 이게 뭐라고 거의 두 달 가까이 방치했다.

    • file:/// 를 사용하여 .HTML 파일을 볼 떄와, 파일브라우저나 이메일 앱에서 볼 때 주소가 달랐다. 전자는 file:///sdcard/download/파일 이름 이였지만, 후자는 content://0@media/external/file/숫자로 이뤄져 있었다. 인터넷을 찾아보니 Android 시스템의 ContentProvider 때문에 그런데, 안드로이드의 앱들 사이에서는 서로 정보를 공유하기 위해서 위와 같이 사용된다고 한다.[각주:4] content:// 주소는 ContentProvider가 만든 일종의 데이터베이스 주소인 것 같다.

    • file:/// 기능은 크롬 PC버전에서도 마찬가지로 잘 작동된다. PC에서는 file:///주소 로 사용하면 된다. 예를 들어 바탕화면은 file:///C:/Users/사용자 명/Desktop/ 으로 주소창으로 접속하여 확인할 수 있다.

     

     

    [본문 SVG파일]

    Android_Robot_outlined.svg

     

     

     

    1. android.stackexchange.com/a/196340 [본문으로]
    2. 하이퍼링크로 접속이 안되므로, 주소창에 직접 입력해서 들어가야 한다. [본문으로]
    3. 출처: www.howtodroid.com/2014/03/use-mobile-browser-local-files-android.html [본문으로]
    4. 출처: www.quora.com/What-is-a-content-provider-in-Android [본문으로]

    댓글

어제는 이곳에 명이 다녀갔습니다.

Powered & Designed by Tistory