您的位置:首页 > 移动开发 > Android开发

android文件关联之mime type

2017-03-19 16:55 387 查看
原文:http://www.cnblogs.com/wanqieddy/archive/2011/08/08/2131080.html

在manifest文件里->activity 添加

<intent-filter>

     <action android:name="android.intent.action.VIEW" />

     <category android:name="android.intent.category.DEFAULT" />

     <data android:mimeType="*/*">

</intent-filter>

这样就把当前程序注册为 可以打开/查看所有类型的文件. 或者要查看jpeg, mimeType要改为: image/jpeg

当在文件管理器里点击任何文件, 系统都会试图去执行你的程序.

 

--------------------------------------------分割线---------------------------------------- http://blog.csdn.net/aide1986/archive/2010/04/27/5536530.aspx 一个合法的File Manager在执行Open动作时,应该是发出一个Intent.VIEW Action。所以你的intent-filter应该是这样子的:


<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="file" />  

<data android:mimeType="*/*" />  

<data android:host="*" />  

<data android:pathPattern=".*\\.txt" />  

</intent-filter>  

<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" />  

<data android:host="*" />  

<data android:pathPattern=".*\\.txt" />  

</intent-filter>   

在这当中,data块缺一不可,你必须同时申明android:scheme, android:host, android:pathPattern, 方可令pathPattern正确生效。对于content scheme,将会匹配诸如:content://com.metago.astro.filesystem/sdcard/txt /pg17155.txt 这样的请求,你的Activity将可以有效地打开这样的txt文件。对于file scheme,大致会匹配诸如:file:///sdcard/txt/pg17155.txt这样的请求,并且,如果有必要,你可以加入
android:mimeType限定。

也就是说,尽管Android SDK的层面上,你不可能了解到哪些mime已经注册,一个自定义的mime如何注册,但对于基础系统(linux os layer)来说,内置的mime type还是存在的,这方面你可以参考Intent SDK文档和Notebook SDK Sample获得一鳞半爪的信息。
对于你自己想要关联的文件后缀,则应该使用上面的intent-filter组合来完成关联。

一旦intent-filter关联完成,在Activity的onCreate,onNewIntent中将可通过:
Intent intent=getIntent();

Uri uri=(Uri)intent.getData();

String path=uri.getPath();
 

序列获得关联打开文件的绝对路径。
这样的方法在ASTRO文件管理器中测试通过,并且在另一个测试project中进行了测试和证明机制有效。不过,在Root Explorer,And Explorer中均失败了,原因正在于这几个浏览器并不执行符合Android SDK规范的File Open操作。

可见,随意性是值得注意的坏招数。
--------------------------------------------分割线----------------------------------------
我们看一下 android 文件的mime类型:

{".3gp",
"video/3gpp"},

  {".apk",
"application/vnd.android.package-archive"},

  {".asf",
"video/x-ms-asf"},

  {".avi",
"video/x-msvideo"},

  {".bin",
"application/octet-stream"},

  {".bmp",
"image/bmp"},

  {".c",
"text/plain"},

  {".class",
"application/octet-stream"},

  {".conf",
"text/plain"},

  {".cpp",
"text/plain"},

  {".doc",
"application/msword"},

  {".exe",
"application/octet-stream"},

  {".gif",
"image/gif"},

  {".gtar",
"application/x-gtar"},

  {".gz",
"application/x-gzip"},

  {".h",
"text/plain"},

  {".htm",
"text/html"},

  {".html",
"text/html"},

  {".jar",
"application/java-archive"},

  {".java",
"text/plain"},

  {".jpeg",
"image/jpeg"},

  {".jpg",
"image/jpeg"},

  {".js",
"application/x-javascript"},

  {".log",
"text/plain"},

  {".m3u",
"audio/x-mpegurl"},

  {".m4a",
"audio/mp4a-latm"},

  {".m4b",
"audio/mp4a-latm"},

  {".m4p",
"audio/mp4a-latm"},

  {".m4u",
"video/vnd.mpegurl"},

  {".m4v",
"video/x-m4v"},

  {".mov",
"video/quicktime"},

  {".mp2",
"audio/x-mpeg"},

  {".mp3",
"audio/x-mpeg"},

  {".mp4",
"video/mp4"},

  {".mpc",
"application/vnd.mpohun.certificate"},

  {".mpe",
"video/mpeg"},

  {".mpeg",
"video/mpeg"},

  {".mpg",
"video/mpeg"},

{".mpg4",
"video/mp4"},

  {".mpga",
"audio/mpeg"},

  {".msg",
"application/vnd.ms-outlook"},

  {".ogg",
"audio/ogg"},

  {".pdf",
"application/pdf"},

  {".png",
"image/png"},

  {".pps",
"application/vnd.ms-powerpoint"},

  {".ppt",
"application/vnd.ms-powerpoint"},

  {".prop",
"text/plain"},

  {".rar",
"application/x-rar-compressed"},

  {".rc",
"text/plain"},

  {".rmvb",
"audio/x-pn-realaudio"},

  {".rtf",
"application/rtf"},

  {".sh",
"text/plain"},

  {".tar",
"application/x-tar"},

  {".tgz",
"application/x-compressed"},

  {".txt",
"text/plain"},

  {".wav",
"audio/x-wav"},

  {".wma",
"audio/x-ms-wma"},

  {".wmv",
"audio/x-ms-wmv"},

  {".wps",
"application/vnd.ms-works"},

  //{".xml", "text/xml"},
  {".xml",
"text/plain"},

  {".z",
"application/x-compress"},

  {".zip",
"application/zip"},

  {"",
"*/*"}

 

另:
3gp video/3gpp

  aab application/x-authoware-bin

  aam application/x-authoware-map

  aas application/x-authoware-seg

  ai application/postscript

  aif audio/x-aiff

  aifc audio/x-aiff

  aiff audio/x-aiff

  als audio/X-Alpha5

  amc application/x-mpeg

  ani application/octet-stream
      apk application/vnd.android.package-archive

  asc text/plain

  asd application/astound

  asf video/x-ms-asf

  asn application/astound

  asp application/x-asap

  asx video/x-ms-asf

  au audio/basic

  avb application/octet-stream

  avi video/x-msvideo

  awb audio/amr-wb

  bcpio application/x-bcpio

  bin application/octet-stream

  bld application/bld

  bld2 application/bld2

      bmp image/bmp

  bpk application/octet-stream

  bz2 application/x-bzip2

  cal image/x-cals

  ccn application/x-cnc

  cco application/x-cocoa

  cdf application/x-netcdf

  cgi magnus-internal/cgi

  chat application/x-chat

  class application/octet-stream

  clp application/x-msclip

  cmx application/x-cmx

  co application/x-cult3d-object

  cod image/cis-cod

  cpio application/x-cpio

  cpt application/mac-compactpro

  crd application/x-mscardfile

  csh application/x-csh

  csm chemical/x-csml

  csml chemical/x-csml

  css text/css

  cur application/octet-stream

  dcm x-lml/x-evm

  dcr application/x-director

  dcx image/x-dcx

  dhtml text/html

  dir application/x-director

  dll application/octet-stream

  dmg application/octet-stream

  dms application/octet-stream

  doc application/msword

  dot application/x-dot

  dvi application/x-dvi

  dwf drawing/x-dwf

  dwg application/x-autocad

  dxf application/x-autocad

  dxr application/x-director

  ebk application/x-expandedbook

  emb chemical/x-embl-dl-nucleotide

  embl chemical/x-embl-dl-nucleotide

  eps application/postscript

  eri image/x-eri

  es audio/echospeech

  esl audio/echospeech

  etc application/x-earthtime

  etx text/x-setext

  evm x-lml/x-evm

  evy application/x-envoy

  exe application/octet-stream

  fh4 image/x-freehand

  fh5 image/x-freehand

  fhc image/x-freehand

  fif image/fif

  fm application/x-maker

  fpx image/x-fpx

  fvi video/isivideo

  gau chemical/x-gaussian-input

  gca application/x-gca-compressed

  gdb x-lml/x-gdb

  gif image/gif

  gps application/x-gps

  gtar application/x-gtar

  gz application/x-gzip

  hdf application/x-hdf

  hdm text/x-hdml

  hdml text/x-hdml

  hlp application/winhlp

  hqx application/mac-binhex40

  htm text/html

  html text/html

  hts text/html

  ice x-conference/x-cooltalk

  ico application/octet-stream

  ief image/ief

  ifm image/gif

  ifs image/ifs

  imy audio/melody

  ins application/x-NET-Install

  ips application/x-ipscript

  ipx application/x-ipix

  it audio/x-mod

  itz audio/x-mod

  ivr i-world/i-vrml

  j2k image/j2k

  jad text/vnd.sun.j2me.app-descriptor

  jam application/x-jam

  jar application/java-archive

  jnlp application/x-java-jnlp-file

  jpe image/jpeg

  jpeg image/jpeg

  jpg image/jpeg

  jpz image/jpeg

  js application/x-javascript

  jwc application/jwc

  kjx application/x-kjx

  lak x-lml/x-lak

  latex application/x-latex

  lcc application/fastman

  lcl application/x-digitalloca

  lcr application/x-digitalloca

  lgh application/lgh

  lha application/octet-stream

  lml x-lml/x-lml

  lmlpack x-lml/x-lmlpack

  lsf video/x-ms-asf

  lsx video/x-ms-asf

  lzh application/x-lzh

  m13 application/x-msmediaview

  m14 application/x-msmediaview

  m15 audio/x-mod

  m3u audio/x-mpegurl

  m3url audio/x-mpegurl

  ma1 audio/ma1

  ma2 audio/ma2

  ma3 audio/ma3

  ma5 audio/ma5

  man application/x-troff-man

  map magnus-internal/imagemap

  mbd application/mbedlet

  mct application/x-mascot

  mdb application/x-msaccess

  mdz audio/x-mod

  me application/x-troff-me

  mel text/x-vmel

  mi application/x-mif

  mid audio/midi

  midi audio/midi

  mif application/x-mif

  mil image/x-cals

  mio audio/x-mio

  mmf application/x-skt-lbs

  mng video/x-mng

  mny application/x-msmoney

  moc application/x-mocha

  mocha application/x-mocha

  mod audio/x-mod

  mof application/x-yumekara

  mol chemical/x-mdl-molfile

  mop chemical/x-mopac-input

  mov video/quicktime

  movie video/x-sgi-movie

  mp2 audio/x-mpeg

  mp3 audio/x-mpeg

  mp4 video/mp4

  mpc application/vnd.mpohun.certificate

  mpe video/mpeg

  mpeg video/mpeg

  mpg video/mpeg

  mpg4 video/mp4

  mpga audio/mpeg

  mpn application/vnd.mophun.application

  mpp application/vnd.ms-project

  mps application/x-mapserver

  mrl text/x-mrml

  mrm application/x-mrm

  ms application/x-troff-ms

  mts application/metastream

  mtx application/metastream

  mtz application/metastream

  mzv application/metastream

  nar application/zip

  nbmp image/nbmp

  nc application/x-netcdf

  ndb x-lml/x-ndb

  ndwn application/ndwn

  nif application/x-nif

  nmz application/x-scream

  nokia-op-logo image/vnd.nok-oplogo-color

  npx application/x-netfpx

  nsnd audio/nsnd

  nva application/x-neva1

  oda application/oda

  oom application/x-AtlasMate-Plugin

  pac audio/x-pac

  pae audio/x-epac

  pan application/x-pan

  pbm image/x-portable-bitmap

  pcx image/x-pcx

  pda image/x-pda

  pdb chemical/x-pdb

  pdf application/pdf

  pfr application/font-tdpfr

  pgm image/x-portable-graymap

  pict image/x-pict

  pm application/x-perl

  pmd application/x-pmd

  png image/png

  pnm image/x-portable-anymap

  pnz image/png

  pot application/vnd.ms-powerpoint

  ppm image/x-portable-pixmap

  pps application/vnd.ms-powerpoint

  ppt application/vnd.ms-powerpoint

  pqf application/x-cprplayer

  pqi application/cprplayer

  prc application/x-prc

  proxy application/x-ns-proxy-autoconfig

  ps application/postscript

  ptlk application/listenup

  pub application/x-mspublisher

  pvx video/x-pv-pvx

  qcp audio/vnd.qcelp

  qt video/quicktime

  qti image/x-quicktime

  qtif image/x-quicktime

  r3t text/vnd.rn-realtext3d

  ra audio/x-pn-realaudio

  ram audio/x-pn-realaudio

  rar application/x-rar-compressed

  ras image/x-cmu-raster

  rdf application/rdf+xml

  rf image/vnd.rn-realflash

  rgb image/x-rgb

  rlf application/x-richlink

  rm audio/x-pn-realaudio

  rmf audio/x-rmf

  rmm audio/x-pn-realaudio

  rmvb audio/x-pn-realaudio

  rnx application/vnd.rn-realplayer

  roff application/x-troff

  rp image/vnd.rn-realpix

  rpm audio/x-pn-realaudio-plugin

  rt text/vnd.rn-realtext

  rte x-lml/x-gps

  rtf application/rtf

  rtg application/metastream

  rtx text/richtext

  rv video/vnd.rn-realvideo

  rwc application/x-rogerwilco

  s3m audio/x-mod

  s3z audio/x-mod

  sca application/x-supercard

  scd application/x-msschedule

  sdf application/e-score

  sea application/x-stuffit

  sgm text/x-sgml

  sgml text/x-sgml

  sh application/x-sh

  shar application/x-shar

  shtml magnus-internal/parsed-html

  shw application/presentations

  si6 image/si6

  si7 image/vnd.stiwap.sis

  si9 image/vnd.lgtwap.sis

  sis application/vnd.symbian.install

  sit application/x-stuffit

  skd application/x-Koan

  skm application/x-Koan

  skp application/x-Koan

  skt application/x-Koan

  slc application/x-salsa

  smd audio/x-smd

  smi application/smil

  smil application/smil

  smp application/studiom

  smz audio/x-smd

  snd audio/basic

  spc text/x-speech

  spl application/futuresplash

  spr application/x-sprite

  sprite application/x-sprite

  spt application/x-spt

  src application/x-wais-source

  stk application/hyperstudio

  stm audio/x-mod

  sv4cpio application/x-sv4cpio

  sv4crc application/x-sv4crc

  svf image/vnd

  svg image/svg-xml

  svh image/svh

  svr x-world/x-svr

  swf application/x-shockwave-flash

  swfl application/x-shockwave-flash

  t application/x-troff

  tad application/octet-stream

  talk text/x-speech

  tar application/x-tar

  taz application/x-tar

  tbp application/x-timbuktu

  tbt application/x-timbuktu

  tcl application/x-tcl

  tex application/x-tex

  texi application/x-texinfo

  texinfo application/x-texinfo

  tgz application/x-tar

  thm application/vnd.eri.thm

  tif image/tiff

  tiff image/tiff

  tki application/x-tkined

  tkined application/x-tkined

  toc application/toc

  toy image/toy

  tr application/x-troff

  trk x-lml/x-gps

  trm application/x-msterminal

  tsi audio/tsplayer

  tsp application/dsptype

  tsv text/tab-separated-values

  tsv text/tab-separated-values

  ttf application/octet-stream

  ttz application/t-time

  txt text/plain

  ult audio/x-mod

  ustar application/x-ustar

  uu application/x-uuencode

  uue application/x-uuencode

  vcd application/x-cdlink

  vcf text/x-vcard

  vdo video/vdo

  vib audio/vib

  viv video/vivo

  vivo video/vivo

  vmd application/vocaltec-media-desc

  vmf application/vocaltec-media-file

  vmi application/x-dreamcast-vms-info

  vms application/x-dreamcast-vms

  vox audio/voxware

  vqe audio/x-twinvq-plugin

  vqf audio/x-twinvq

  vql audio/x-twinvq

  vre x-world/x-vream

  vrml x-world/x-vrml

  vrt x-world/x-vrt

  vrw x-world/x-vream

  vts workbook/formulaone

  wav audio/x-wav

  wax audio/x-ms-wax

  wbmp image/vnd.wap.wbmp

  web application/vnd.xara

  wi image/wavelet

  wis application/x-InstallShield

  wm video/x-ms-wm

  wma audio/x-ms-wma

  wmd application/x-ms-wmd

  wmf application/x-msmetafile

  wml text/vnd.wap.wml

  wmlc application/vnd.wap.wmlc

  wmls text/vnd.wap.wmlscript

  wmlsc application/vnd.wap.wmlscriptc

  wmlscript text/vnd.wap.wmlscript

  wmv audio/x-ms-wmv

  wmx video/x-ms-wmx

  wmz application/x-ms-wmz

  wpng image/x-up-wpng

  wpt x-lml/x-gps

  wri application/x-mswrite

  wrl x-world/x-vrml

  wrz x-world/x-vrml

  ws text/vnd.wap.wmlscript

  wsc application/vnd.wap.wmlscriptc

  wv video/wavelet

  wvx video/x-ms-wvx

  wxl application/x-wxl

  x-gzip application/x-gzip

  xar application/vnd.xara

  xbm image/x-xbitmap

  xdm application/x-xdma

  xdma application/x-xdma

  xdw application/vnd.fujixerox.docuworks

  xht application/xhtml+xml

  xhtm application/xhtml+xml

  xhtml application/xhtml+xml

  xla application/vnd.ms-excel

  xlc application/vnd.ms-excel

  xll application/x-excel

  xlm application/vnd.ms-excel

  xls application/vnd.ms-excel

  xlt application/vnd.ms-excel

  xlw application/vnd.ms-excel

  xm audio/x-mod

  xml text/xml

  xmz audio/x-mod

  xpi application/x-xpinstall

  xpm image/x-xpixmap

  xsit text/xml

  xsl text/xml

  xul text/xul

  xwd image/x-xwindowdump

  xyz chemical/x-pdb

  yz1 application/x-yz1

  z application/x-compress

  zac application/x-zaurus-zac

  zip application/zip
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android