android是个高内聚、低耦合的系统,系统可以拆分成多个模块,

而intent就是一个相当强大的传输介质



以下内容引用自网络:

android如何实现文件打开方式可供选择功能。

<intent-filter>                <action android:name="android.intent.action.VIEW" />                <category android:name="android.intent.category.DEFAULT" />                <category android:name="android.intent.category.BROWSABLE" />                 <data android:scheme="content"/>  //optional                <data android:scheme="file"/>                <data android:scheme="http" />     //optional                <data android:mimeType="audio/*"/> //optional                <data android:mimeType="application/ogg"/> //optional                <data android:mimeType="application/x-ogg"/>//optional                <data android:mimeType="application/itunes"/>//optional   </intent-filter>

2、

  1. Uriuri=Uri.parse("file://"+filePath);
  2. Intentintent=newIntent();
  3. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  4. intent.setAction(Intent.ACTION_VIEW);
  5. Stringtype=Common.getMIMEType(filePath);
  6. intent.setDataAndType(uri,type);
  7. if(!type.equals("*/*"))
  8. {
  9. startActivity(intent);
  10. }else
  11. {
  12. showOpenTypeDialog(filePath);
  13. }


ommon.getMIMEType(filePath)代码:

  1. /**
  2. *获取文件类型
  3. */
  4. publicstaticStringgetMIMEType(StringfilePath)
  5. {
  6. Stringtype="*/*";
  7. StringfName=filePath;
  8. intdotIndex=fName.lastIndexOf(".");
  9. if(dotIndex<0)
  10. {
  11. returntype;
  12. }
  13. Stringend=fName.substring(dotIndex,fName.length()).toLowerCase();
  14. if(end=="")
  15. {
  16. returntype;
  17. }
  18. for(inti=0;i<MIME_MapTable.length;i++)
  19. {
  20. if(end.equals(MIME_MapTable[i][0]))
  21. {
  22. type=MIME_MapTable[i][1];
  23. }
  24. }
  25. returntype;
  26. }

MIME_MapTable 代码:

  1. /**
  2. *MIME列表
  3. */
  4. publicstaticfinalString[][]MIME_MapTable=
  5. {
  6. //{后缀名,MIME类型}
  7. {".3gp","video/3gpp"},
  8. {".3gpp","video/3gpp"},
  9. {".aac","audio/x-mpeg"},
  10. {".amr","audio/x-mpeg"},
  11. {".apk","application/vnd.Android.package-archive"},
  12. {".avi","video/x-msvideo"},
  13. {".aab","application/x-authoware-bin"},
  14. {".aam","application/x-authoware-map"},
  15. {".aas","application/x-authoware-seg"},
  16. {".ai","application/postscript"},
  17. {".aif","audio/x-aiff"},
  18. {".aifc","audio/x-aiff"},
  19. {".aiff","audio/x-aiff"},
  20. {".als","audio/X-Alpha5"},
  21. {".amc","application/x-mpeg"},
  22. {".ani","application/octet-stream"},
  23. {".asc","text/plain"},
  24. {".asd","application/astound"},
  25. {".asf","video/x-ms-asf"},
  26. {".asn","application/astound"},
  27. {".asp","application/x-asap"},
  28. {".asx","video/x-ms-asf"},
  29. {".au","audio/basic"},
  30. {".avb","application/octet-stream"},
  31. {".awb","audio/amr-wb"},
  32. {".bcpio","application/x-bcpio"},
  33. {".bld","application/bld"},
  34. {".bld2","application/bld2"},
  35. {".bpk","application/octet-stream"},
  36. {".bz2","application/x-bzip2"},
  37. {".bin","application/octet-stream"},
  38. {".bmp","image/bmp"},
  39. {".c","text/plain"},
  40. {".class","application/octet-stream"},
  41. {".conf","text/plain"},
  42. {".cpp","text/plain"},
  43. {".cal","image/x-cals"},
  44. {".ccn","application/x-cnc"},
  45. {".cco","application/x-cocoa"},
  46. {".cdf","application/x-netcdf"},
  47. {".cgi","magnus-internal/cgi"},
  48. {".chat","application/x-chat"},
  49. {".clp","application/x-msclip"},
  50. {".cmx","application/x-cmx"},
  51. {".co","application/x-cult3d-object"},
  52. {".cod","image/cis-cod"},
  53. {".cpio","application/x-cpio"},
  54. {".cpt","application/mac-compactpro"},
  55. {".crd","application/x-mscardfile"},
  56. {".csh","application/x-csh"},
  57. {".csm","chemical/x-csml"},
  58. {".csml","chemical/x-csml"},
  59. {".css","text/css"},
  60. {".cur","application/octet-stream"},
  61. {".doc","application/msword"},
  62. {".dcm","x-lml/x-evm"},
  63. {".dcr","application/x-director"},
  64. {".dcx","image/x-dcx"},
  65. {".dhtml","text/html"},
  66. {".dir","application/x-director"},
  67. {".dll","application/octet-stream"},
  68. {".dmg","application/octet-stream"},
  69. {".dms","application/octet-stream"},
  70. {".dot","application/x-dot"},
  71. {".dvi","application/x-dvi"},
  72. {".dwf","drawing/x-dwf"},
  73. {".dwg","application/x-autocad"},
  74. {".dxf","application/x-autocad"},
  75. {".dxr","application/x-director"},
  76. {".ebk","application/x-expandedbook"},
  77. {".emb","chemical/x-embl-dl-nucleotide"},
  78. {".embl","chemical/x-embl-dl-nucleotide"},
  79. {".eps","application/postscript"},
  80. {".epub","application/epub+zip"},
  81. {".eri","image/x-eri"},
  82. {".es","audio/echospeech"},
  83. {".esl","audio/echospeech"},
  84. {".etc","application/x-earthtime"},
  85. {".etx","text/x-setext"},
  86. {".evm","x-lml/x-evm"},
  87. {".evy","application/x-envoy"},
  88. {".exe","application/octet-stream"},
  89. {".fh4","image/x-freehand"},
  90. {".fh5","image/x-freehand"},
  91. {".fhc","image/x-freehand"},
  92. {".fif","image/fif"},
  93. {".fm","application/x-maker"},
  94. {".fpx","image/x-fpx"},
  95. {".fvi","video/isivideo"},
  96. {".flv","video/x-msvideo"},
  97. {".gau","chemical/x-gaussian-input"},
  98. {".gca","application/x-gca-compressed"},
  99. {".gdb","x-lml/x-gdb"},
  100. {".gif","image/gif"},
  101. {".gps","application/x-gps"},
  102. {".gtar","application/x-gtar"},
  103. {".gz","application/x-gzip"},
  104. {".gif","image/gif"},
  105. {".gtar","application/x-gtar"},
  106. {".gz","application/x-gzip"},
  107. {".h","text/plain"},
  108. {".hdf","application/x-hdf"},
  109. {".hdm","text/x-hdml"},
  110. {".hdml","text/x-hdml"},
  111. {".htm","text/html"},
  112. {".html","text/html"},
  113. {".hlp","application/winhlp"},
  114. {".hqx","application/mac-binhex40"},
  115. {".hts","text/html"},
  116. {".ice","x-conference/x-cooltalk"},
  117. {".ico","application/octet-stream"},
  118. {".ief","image/ief"},
  119. {".ifm","image/gif"},
  120. {".ifs","image/ifs"},
  121. {".imy","audio/melody"},
  122. {".ins","application/x-NET-Install"},
  123. {".ips","application/x-ipscript"},
  124. {".ipx","application/x-ipix"},
  125. {".it","audio/x-mod"},
  126. {".itz","audio/x-mod"},
  127. {".ivr","i-world/i-vrml"},
  128. {".j2k","image/j2k"},
  129. {".jad","text/vnd.sun.j2me.app-descriptor"},
  130. {".jam","application/x-jam"},
  131. {".jnlp","application/x-java-jnlp-file"},
  132. {".jpe","image/jpeg"},
  133. {".jpz","image/jpeg"},
  134. {".jwc","application/jwc"},
  135. {".jar","application/java-archive"},
  136. {".java","text/plain"},
  137. {".jpeg","image/jpeg"},
  138. {".jpg","image/jpeg"},
  139. {".js","application/x-javascript"},
  140. {".kjx","application/x-kjx"},
  141. {".lak","x-lml/x-lak"},
  142. {".latex","application/x-latex"},
  143. {".lcc","application/fastman"},
  144. {".lcl","application/x-digitalloca"},
  145. {".lcr","application/x-digitalloca"},
  146. {".lgh","application/lgh"},
  147. {".lha","application/octet-stream"},
  148. {".lml","x-lml/x-lml"},
  149. {".lmlpack","x-lml/x-lmlpack"},
  150. {".log","text/plain"},
  151. {".lsf","video/x-ms-asf"},
  152. {".lsx","video/x-ms-asf"},
  153. {".lzh","application/x-lzh"},
  154. {".m13","application/x-msmediaview"},
  155. {".m14","application/x-msmediaview"},
  156. {".m15","audio/x-mod"},
  157. {".m3u","audio/x-mpegurl"},
  158. {".m3url","audio/x-mpegurl"},
  159. {".ma1","audio/ma1"},
  160. {".ma2","audio/ma2"},
  161. {".ma3","audio/ma3"},
  162. {".ma5","audio/ma5"},
  163. {".man","application/x-troff-man"},
  164. {".map","magnus-internal/imagemap"},
  165. {".mbd","application/mbedlet"},
  166. {".mct","application/x-mascot"},
  167. {".mdb","application/x-msaccess"},
  168. {".mdz","audio/x-mod"},
  169. {".me","application/x-troff-me"},
  170. {".mel","text/x-vmel"},
  171. {".mi","application/x-mif"},
  172. {".mid","audio/midi"},
  173. {".midi","audio/midi"},
  174. {".m4a","audio/mp4a-latm"},
  175. {".m4b","audio/mp4a-latm"},
  176. {".m4p","audio/mp4a-latm"},
  177. {".m4u","video/vnd.mpegurl"},
  178. {".m4v","video/x-m4v"},
  179. {".mov","video/quicktime"},
  180. {".mp2","audio/x-mpeg"},
  181. {".mp3","audio/x-mpeg"},
  182. {".mp4","video/mp4"},
  183. {".mpc","application/vnd.mpohun.certificate"},
  184. {".mpe","video/mpeg"},
  185. {".mpeg","video/mpeg"},
  186. {".mpg","video/mpeg"},
  187. {".mpg4","video/mp4"},
  188. {".mpga","audio/mpeg"},
  189. {".msg","application/vnd.ms-outlook"},
  190. {".mif","application/x-mif"},
  191. {".mil","image/x-cals"},
  192. {".mio","audio/x-mio"},
  193. {".mmf","application/x-skt-lbs"},
  194. {".mng","video/x-mng"},
  195. {".mny","application/x-msmoney"},
  196. {".moc","application/x-mocha"},
  197. {".mocha","application/x-mocha"},
  198. {".mod","audio/x-mod"},
  199. {".mof","application/x-yumekara"},
  200. {".mol","chemical/x-mdl-molfile"},
  201. {".mop","chemical/x-mopac-input"},
  202. {".movie","video/x-sgi-movie"},
  203. {".mpn","application/vnd.mophun.application"},
  204. {".mpp","application/vnd.ms-project"},
  205. {".mps","application/x-mapserver"},
  206. {".mrl","text/x-mrml"},
  207. {".mrm","application/x-mrm"},
  208. {".ms","application/x-troff-ms"},
  209. {".mts","application/metastream"},
  210. {".mtx","application/metastream"},
  211. {".mtz","application/metastream"},
  212. {".mzv","application/metastream"},
  213. {".nar","application/zip"},
  214. {".nbmp","image/nbmp"},
  215. {".nc","application/x-netcdf"},
  216. {".ndb","x-lml/x-ndb"},
  217. {".ndwn","application/ndwn"},
  218. {".nif","application/x-nif"},
  219. {".nmz","application/x-scream"},
  220. {".nokia-op-logo","image/vnd.nok-oplogo-color"},
  221. {".npx","application/x-netfpx"},
  222. {".nsnd","audio/nsnd"},
  223. {".nva","application/x-neva1"},
  224. {".oda","application/oda"},
  225. {".oom","application/x-AtlasMate-Plugin"},
  226. {".ogg","audio/ogg"},
  227. {".pac","audio/x-pac"},
  228. {".pae","audio/x-epac"},
  229. {".pan","application/x-pan"},
  230. {".pbm","image/x-portable-bitmap"},
  231. {".pcx","image/x-pcx"},
  232. {".pda","image/x-pda"},
  233. {".pdb","chemical/x-pdb"},
  234. {".pdf","application/pdf"},
  235. {".pfr","application/font-tdpfr"},
  236. {".pgm","image/x-portable-graymap"},
  237. {".pict","image/x-pict"},
  238. {".pm","application/x-perl"},
  239. {".pmd","application/x-pmd"},
  240. {".png","image/png"},
  241. {".pnm","image/x-portable-anymap"},
  242. {".pnz","image/png"},
  243. {".pot","application/vnd.ms-powerpoint"},
  244. {".ppm","image/x-portable-pixmap"},
  245. {".pps","application/vnd.ms-powerpoint"},
  246. {".ppt","application/vnd.ms-powerpoint"},
  247. {".pqf","application/x-cprplayer"},
  248. {".pqi","application/cprplayer"},
  249. {".prc","application/x-prc"},
  250. {".proxy","application/x-ns-proxy-autoconfig"},
  251. {".prop","text/plain"},
  252. {".ps","application/postscript"},
  253. {".ptlk","application/listenup"},
  254. {".pub","application/x-mspublisher"},
  255. {".pvx","video/x-pv-pvx"},
  256. {".qcp","audio/vnd.qcelp"},
  257. {".qt","video/quicktime"},
  258. {".qti","image/x-quicktime"},
  259. {".qtif","image/x-quicktime"},
  260. {".r3t","text/vnd.rn-realtext3d"},
  261. {".ra","audio/x-pn-realaudio"},
  262. {".ram","audio/x-pn-realaudio"},
  263. {".ras","image/x-cmu-raster"},
  264. {".rdf","application/rdf+xml"},
  265. {".rf","image/vnd.rn-realflash"},
  266. {".rgb","image/x-rgb"},
  267. {".rlf","application/x-richlink"},
  268. {".rm","audio/x-pn-realaudio"},
  269. {".rmf","audio/x-rmf"},
  270. {".rmm","audio/x-pn-realaudio"},
  271. {".rnx","application/vnd.rn-realplayer"},
  272. {".roff","application/x-troff"},
  273. {".rp","image/vnd.rn-realpix"},
  274. {".rpm","audio/x-pn-realaudio-plugin"},
  275. {".rt","text/vnd.rn-realtext"},
  276. {".rte","x-lml/x-gps"},
  277. {".rtf","application/rtf"},
  278. {".rtg","application/metastream"},
  279. {".rtx","text/richtext"},
  280. {".rv","video/vnd.rn-realvideo"},
  281. {".rwc","application/x-rogerwilco"},
  282. {".rar","application/x-rar-compressed"},
  283. {".rc","text/plain"},
  284. {".rmvb","audio/x-pn-realaudio"},
  285. {".s3m","audio/x-mod"},
  286. {".s3z","audio/x-mod"},
  287. {".sca","application/x-supercard"},
  288. {".scd","application/x-msschedule"},
  289. {".sdf","application/e-score"},
  290. {".sea","application/x-stuffit"},
  291. {".sgm","text/x-sgml"},
  292. {".sgml","text/x-sgml"},
  293. {".shar","application/x-shar"},
  294. {".shtml","magnus-internal/parsed-html"},
  295. {".shw","application/presentations"},
  296. {".si6","image/si6"},
  297. {".si7","image/vnd.stiwap.sis"},
  298. {".si9","image/vnd.lgtwap.sis"},
  299. {".sis","application/vnd.symbian.install"},
  300. {".sit","application/x-stuffit"},
  301. {".skd","application/x-Koan"},
  302. {".skm","application/x-Koan"},
  303. {".skp","application/x-Koan"},
  304. {".skt","application/x-Koan"},
  305. {".slc","application/x-salsa"},
  306. {".smd","audio/x-smd"},
  307. {".smi","application/smil"},
  308. {".smil","application/smil"},
  309. {".smp","application/studiom"},
  310. {".smz","audio/x-smd"},
  311. {".sh","application/x-sh"},
  312. {".snd","audio/basic"},
  313. {".spc","text/x-speech"},
  314. {".spl","application/futuresplash"},
  315. {".spr","application/x-sprite"},
  316. {".sprite","application/x-sprite"},
  317. {".sdp","application/sdp"},
  318. {".spt","application/x-spt"},
  319. {".src","application/x-wais-source"},
  320. {".stk","application/hyperstudio"},
  321. {".stm","audio/x-mod"},
  322. {".sv4cpio","application/x-sv4cpio"},
  323. {".sv4crc","application/x-sv4crc"},
  324. {".svf","image/vnd"},
  325. {".svg","image/svg-xml"},
  326. {".svh","image/svh"},
  327. {".svr","x-world/x-svr"},
  328. {".swf","application/x-shockwave-flash"},
  329. {".swfl","application/x-shockwave-flash"},
  330. {".t","application/x-troff"},
  331. {".tad","application/octet-stream"},
  332. {".talk","text/x-speech"},
  333. {".tar","application/x-tar"},
  334. {".taz","application/x-tar"},
  335. {".tbp","application/x-timbuktu"},
  336. {".tbt","application/x-timbuktu"},
  337. {".tcl","application/x-tcl"},
  338. {".tex","application/x-tex"},
  339. {".texi","application/x-texinfo"},
  340. {".texinfo","application/x-texinfo"},
  341. {".tgz","application/x-tar"},
  342. {".thm","application/vnd.eri.thm"},
  343. {".tif","image/tiff"},
  344. {".tiff","image/tiff"},
  345. {".tki","application/x-tkined"},
  346. {".tkined","application/x-tkined"},
  347. {".toc","application/toc"},
  348. {".toy","image/toy"},
  349. {".tr","application/x-troff"},
  350. {".trk","x-lml/x-gps"},
  351. {".trm","application/x-msterminal"},
  352. {".tsi","audio/tsplayer"},
  353. {".tsp","application/dsptype"},
  354. {".tsv","text/tab-separated-values"},
  355. {".ttf","application/octet-stream"},
  356. {".ttz","application/t-time"},
  357. {".txt","text/plain"},
  358. {".ult","audio/x-mod"},
  359. {".ustar","application/x-ustar"},
  360. {".uu","application/x-uuencode"},
  361. {".uue","application/x-uuencode"},
  362. {".vcd","application/x-cdlink"},
  363. {".vcf","text/x-vcard"},
  364. {".vdo","video/vdo"},
  365. {".vib","audio/vib"},
  366. {".viv","video/vivo"},
  367. {".vivo","video/vivo"},
  368. {".vmd","application/vocaltec-media-desc"},
  369. {".vmf","application/vocaltec-media-file"},
  370. {".vmi","application/x-dreamcast-vms-info"},
  371. {".vms","application/x-dreamcast-vms"},
  372. {".vox","audio/voxware"},
  373. {".vqe","audio/x-twinvq-plugin"},
  374. {".vqf","audio/x-twinvq"},
  375. {".vql","audio/x-twinvq"},
  376. {".vre","x-world/x-vream"},
  377. {".vrml","x-world/x-vrml"},
  378. {".vrt","x-world/x-vrt"},
  379. {".vrw","x-world/x-vream"},
  380. {".vts","workbook/formulaone"},
  381. {".wax","audio/x-ms-wax"},
  382. {".wbmp","image/vnd.wap.wbmp"},
  383. {".web","application/vnd.xara"},
  384. {".wav","audio/x-wav"},
  385. {".wma","audio/x-ms-wma"},
  386. {".wmv","audio/x-ms-wmv"},
  387. {".wi","image/wavelet"},
  388. {".wis","application/x-InstallShield"},
  389. {".wm","video/x-ms-wm"},
  390. {".wmd","application/x-ms-wmd"},
  391. {".wmf","application/x-msmetafile"},
  392. {".wml","text/vnd.wap.wml"},
  393. {".wmlc","application/vnd.wap.wmlc"},
  394. {".wmls","text/vnd.wap.wmlscript"},
  395. {".wmlsc","application/vnd.wap.wmlscriptc"},
  396. {".wmlscript","text/vnd.wap.wmlscript"},
  397. {".wmv","video/x-ms-wmv"},
  398. {".wmx","video/x-ms-wmx"},
  399. {".wmz","application/x-ms-wmz"},
  400. {".wpng","image/x-up-wpng"},
  401. {".wps","application/vnd.ms-works"},
  402. {".wpt","x-lml/x-gps"},
  403. {".wri","application/x-mswrite"},
  404. {".wrl","x-world/x-vrml"},
  405. {".wrz","x-world/x-vrml"},
  406. {".ws","text/vnd.wap.wmlscript"},
  407. {".wsc","application/vnd.wap.wmlscriptc"},
  408. {".wv","video/wavelet"},
  409. {".wvx","video/x-ms-wvx"},
  410. {".wxl","application/x-wxl"},
  411. {".x-gzip","application/x-gzip"},
  412. {".xar","application/vnd.xara"},
  413. {".xbm","image/x-xbitmap"},
  414. {".xdm","application/x-xdma"},
  415. {".xdma","application/x-xdma"},
  416. {".xdw","application/vnd.fujixerox.docuworks"},
  417. {".xht","application/xhtml+xml"},
  418. {".xhtm","application/xhtml+xml"},
  419. {".xhtml","application/xhtml+xml"},
  420. {".xla","application/vnd.ms-excel"},
  421. {".xlc","application/vnd.ms-excel"},
  422. {".xll","application/x-excel"},
  423. {".xlm","application/vnd.ms-excel"},
  424. {".xls","application/vnd.ms-excel"},
  425. {".xlt","application/vnd.ms-excel"},
  426. {".xlw","application/vnd.ms-excel"},
  427. {".xm","audio/x-mod"},
  428. {".xml","text/xml"},
  429. {".xmz","audio/x-mod"},
  430. {".xpi","application/x-xpinstall"},
  431. {".xpm","image/x-xpixmap"},
  432. {".xsit","text/xml"},
  433. {".xsl","text/xml"},
  434. {".xul","text/xul"},
  435. {".xwd","image/x-xwindowdump"},
  436. {".xyz","chemical/x-pdb"},
  437. {".yz1","application/x-yz1"},
  438. {".z","application/x-compress"},
  439. {".zac","application/x-zaurus-zac"},
  440. {".zip","application/zip"},
  441. {"","*/*"}
  442. };

更多相关文章

  1. Android(安卓)Studio 快捷键
  2. android 界面跳转
  3. parsing XML: unbound prefix
  4. android 自定义Dialog背景透明及显示位置设置
  5. Android(安卓)Studio之Instant Run
  6. apk安装法之二----一段Android实现应用下载并自动安装apk包的代
  7. Android实现服务器登录
  8. Android基于Window.ID_ANDROID_CONTENT给定id添加子View
  9. Android下获取手机屏幕大小

随机推荐

  1. 图像分割算法实战(深度学习)
  2. 索引简介
  3. 学软件测试看什么书籍推荐?
  4. 软件测试工程师的日常工作流程
  5. Eclipse安装springboot支持(sts)
  6. 软件测试行业 月薪过万必须具备的测试技
  7. svn命令使用
  8. 一些Java开发人员在编程中常见的雷!
  9. C语言中易错的地方(一)
  10. 一份成功的高薪软件测试求职简历应该是这