파일탐색기의 폴더에 접근하여 그대로 호출하는 방법이 있는지 찾아 보았지만
안드로이드 파일 탐색기를 호출하기 위해선 ListView에 담아 이벤트 처리를 해주는 방법만이 있었습니다.
파일 탐색기에 주요한 파일이 많아 바로 intent처리를 하기엔 위험하여 제공하지 않는 다고 합니다.
그 외에는 Type 별로 원하는 것을 intent 호출하여 ex) 갤러리, 비디오 등 호출
모아 볼 수 있는 환경을 기본 제공합니다.
파일 탐색기 구현은 다음에 해보기로 하고 Type 별로 불러오는 것을 테스트 해보았습니다.
폴더 내용 intent 호출
모든 Type을 호출하려면 */* 사용
모든 탐색기 파일에서 application/* 형식의 Type 호출 , 갤러리는 image/* , 동영상은 video/*
Intent i = new Intent(Intent.ACTION_GET_CONTENT); |
탐색기 파일에서 Download 폴더안의 application/* 형식의 Type 호출
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); |
호출 시에 저 파일을 열 수 있는 앱이 나열 되어 선택해주면 됩니다.
경로에 있는 파일 열기 - mp3 확장자 파일이라면 audio/* 이용
File filePath = new File("/mnt/sdcard/music.mp3"); Intent intent = new Intent(); intent.setAction(android.content.Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(filePath), "audio/*"); startActivity(intent); |
setType 종류
MIME-Type | Description | File Extension |
application/acad | AutoCAD drawing files | dwg |
application/clariscad | ClarisCAD files | ccad |
application/dxf | DXF (AutoCAD) | dxf |
application/msaccess | Microsoft Access file | mdb |
application/msword | Microsoft Word file | doc |
application/octet-stream | Uninterpreted binary | bin |
application/pdf | PDF (Adobe Acrobat) | |
application/postscript | Postscript, encapsulated Postscript, | ai, ps, eps |
Adobe Illustrator | ||
application/rtf | Rich Text Format file | rtf rtf |
application/vnd.ms-excel | Microsoft Excel file | xls |
application/vnd.ms-powerpoint | Microsoft PowerPoint file | ppt |
application/x-cdf | Channel Definition Format file | cdf |
application/x-csh | C-shell script | csh csh |
application/x-dvi | TeX | dvi dvi dvi |
application/x-javascript | Javascript source file | js |
application/x-latex | LaTeX source file | latex |
application/x-mif | FrameMaker MIF format | mif |
application/x-msexcel | Microsoft Excel file | xls |
application/x-mspowerpoint | Microsoft PowerPoint file | ppt |
application/x-tcl | TCL script | tcl |
application/x-tex | TeX source file | tex |
application/x-texinfo | Texinfo (emacs) | texinfo, texi |
application/x-troff | troff file | t, tr, roff t, tr, roff |
application/x-troff-man | troff with MAN macros | man |
application/x-troff-me | troff with ME macros | me |
application/x-troff-ms | troff with MS macros | ms |
application/x-wais-source | WAIS source file | src |
application/zip | ZIP archive | zip |
audio/basic | Basic audio (usually m-law) | au, snd |
audio/x-aiff | AIFF audio | aif, aiff, aifc |
audio/x-wav | Windows WAVE audio | wav |
image/gif | GIF image | gif |
image/ief | Image Exchange Format file | ief |
image/jpeg | JPEG image | jpeg, jpg jpe |
image/tiff | TIFF image | tiff, tif |
image/x-cmu-raster | CMU Raster image | ras |
image/x-portable-anymap | PBM Anymap image format | pnm |
image/x-portable-bitmap | PBM Bitmap image format | pbm |
image/x-portable-graymap | PBM Graymap image format | pgm |
image/x-portable-pixmap | PBM Pixmap image format | ppm |
image/x-rgb | RGB image format | rgb |
image/x-xbitmap | X Bitmap image | xbm |
image/x-xpixmap | X Pixmap image | xpm |
image/x-xwindowdump | X Windows Dump (xwd) | xwd |
multipart/x-gzip | GNU ZIP archive | gzip |
multipart/x-zip | PKZIP archive | zip |
text/css | Cascading style sheet | css |
text/html | HTML file | html, htm |
text/plain | Plain text | txt |
text/richtext | MIME Rich Text | rtx |
text/tab-separated- values | Text with tab-separated values | tsv |
text/xml | XML document | xml |
text/x-setext | Struct-Enhanced text | etx |
text/xsl | XSL style sheet | xsl |
video/mpeg | MPEG video | mpeg, mpg, mpe |
video/quicktime | QuickTime video | qt, mov |
video/x-msvideo | Microsoft Windows video | avi |
video/x-sgi-movie | SGI movie player format | movie |
MIME 확장명 | 파일 확장명 |
application/x-silverlight-app | .xap |
application/manifest | .manifest |
application/x-ms-application | .application |
application/x-ms-xbap | .xbap |
application/octet-stream | .deploy |
application/vnd.ms-xpsdocument | .xps |
application/xaml+xml | .xaml |
application/vnd.ms-cab-compressed | .cab |
application/vnd.openxmlformats-officedocument.wordprocessingml.document | .docx |
application/vnd.openxmlformats-officedocument.wordprocessingml.document | .docm |
application/vnd.openxmlformats-officedocument.presentationml.presentation | .pptx |
application/vnd.openxmlformats-officedocument.presentationml.presentation | .pptm |
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | .xlsx |
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | .xlsm |
application/msaccess | .accdb |
application/x-mspublisher | .pub |
image/svg+xml | .svg |
application/xhtml+xml | .xht |
application/xhtml+xml | .xhtml |
문제점
위 방법으로 갤러리나 비디오를 불러오기엔 충분합니다. 이유는 안드로이드 기기마다 갤러리와 카메라, 동영상은 기본적으로 제공하는 브라우저가 존재하기 때문입니다. PPT, PDF, TXT 형식 등은 안드로이드 기기에서 브라우저를 볼 수 있는 앱이 따로 설치 되어 있지 않다면 아래와 같은 현상으로 볼 수 없도록 호출이 됩니다.
저 확장자 형식을 열 수 있는 앱이 존재하지 않는 것으로 나옵니다.
문제를 해결하기 위해선 파일 브라우저를 실행할 수 있는 앱이 존재해야 해결이 됩니다.
(혹시 다른 해결방법이 있다면 댓글로 부탁드려요!)