在android下各种文件管理器中,我们选择一个文件,点击分享可以看到弹出一些app供我们选择,这个是android系统分享功能,我们做的app也可以出现在这个列表中。



第一步:在Manifest.xml进行配置,比普通的activity中多增加一个Intent过滤器

        <activity
android:name="com.example.share.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> <intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<!-- 指定分享类型,我这边只能分享mp4 -->
<data android:mimeType="video/mp4"/>
</intent-filter>
</activity>

第二步:用户分享的时候如果选择了我们的app,会跳转到对应的activity,在avtivity中获取文件路径。然后做我们想做的事情

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); TextView pathTextView=(TextView) findViewById(R.id.path); Intent intent = getIntent();
String action = intent.getAction();//action
String type = intent.getType();//类型 //类型是mp4类型
if (Intent.ACTION_SEND.equals(action) && type != null && "video/mp4".equals(type)) {
Uri uri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
//如果是媒体类型需要从数据库获取路径
String filePath=getRealPathFromURI(uri);
pathTextView.setText("视频文件路径:"+filePath);
}
} /**
* 通过Uri获取文件在本地存储的真实路径
*/
private String getRealPathFromURI(Uri contentUri) {
String[] proj = {MediaStore.MediaColumns.DATA};
Cursor cursor=getContentResolver().query(contentUri, proj, null, null, null);
if(cursor.moveToNext()){
return cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.DATA));
}
cursor.close();
return null;
}
}

如果需要分享多个文件怎么办?

答:修改 Manifest.xml中activity中Intent中action的android:name属性   

<span style="font-size:14px;">            <intent-filter>
<!-- 支持多个文件分享 -->
<action android:name="android.intent.action.SEND_MULTIPLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<!-- 指定分享类型,我这边只能分享mp4 -->
<data android:mimeType="video/mp4"/>
</intent-filter> </span>

效果图如下:



点击下载源码

我参考的博客:http://blog.csdn.net/xyz_lmn/article/details/16856843



Android 常用 mimeType 表

一、MIME TYPE描述

多用途互联网邮件扩展MIMEMultipurpose Internet Mail Extensions)是一个互联网标准,它扩展了电子邮件标准,使其能够支持非ASCII字符、二进制格式附件等多种格式的邮件消息。

内容类型(Content-Type),这个头部领域用于指定消息的类型。一般以下面的形式出现。[type]/[subtype]

type有下面的形式。

  • Text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的;

  • Multipart:用于连接消息体的多个部分构成一个消息,这些部分可以是不同类型的数据;

  • Application:用于传输应用程序数据或者二进制数据;

  • Message:用于包装一个E-mail消息;

  • Image:用于传输静态图片数据;

  • Audio:用于传输音频或者音声数据;

  • Video:用于传输动态影像数据,可以是与音频编辑在一起的视频数据格式。

subtype用于指定type的详细形式。content-type/subtype配对的集合和与此相关的参数,将随着时间而增长。为了确保这些值在一个有序而且公开的状态下开发,MIME使用Internet Assigned Numbers Authority (IANA)作为中心的注册机制来管理这些值。常用的subtype值如下所示:

  • text/plain(纯文本

  • text/html(HTML文档)

  • application/xhtml+xml(XHTML文档)

  • image/gif(GIF图像)

  • image/jpeg(JPEG图像)【PHP中为:image/pjpeg】

  • image/png(PNG图像)【PHP中为:image/x-png】

  • video/mpeg(MPEG动画)

  • application/octet-stream(任意的二进制数据)

  • application/pdf(PDF文档)

  • application/msword(Microsoft Word文件)

  • message/rfc822(RFC 822形式)

  • multipart/alternative(HTML邮件的HTML形式和纯文本形式,相同内容使用不同形式表示)

  • application/x-www-form-urlencoded(使用HTTP的POST方法提交的表单)

  • multipart/form-data(同上,但主要用于表单提交时伴随文件上传的场合)

二、常用MIME Type表

转自:http://www.littledai.com/20110408/112443/791

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应用中实现系统“分享”接口的更多相关文章

  1. Android应用中使用及实现系统“分享”接口

    为了应用的推广.传播,很多的应用中都有“分享”功能,一个按钮,点击后会出现短信.微博等等一切实现了分享功能的应用列表.这一篇文章主要介绍怎么调用分享功能和怎么实现分享接口让自己应用出现分享列表中.An ...

  2. Android Intent和IntentFilter详解与使用及实现系统“分享”接口

    Intent Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到 ...

  3. Android开发,Eclipse创建aidl接口时,出错

    Android开发中,当我们需要调用远程Service时,我们一般通过远程接口(RMI)来实现的,而Android的RMI需要AIDL(Android Interface Definition Lan ...

  4. Android 12(S) 图像显示系统 - HWC HAL 初始化与调用流程

    必读: Android 12(S) 图像显示系统 - 开篇 接口定义 源码位置:/hardware/interfaces/graphics/composer/ 在源码目录下可以看到4个版本的HIDL ...

  5. Android开发中,那些让您觉得相见恨晚的方法、类或接口

    Android开发中,那些让你觉得相见恨晚的方法.类或接口本篇文章内容提取自知乎Android开发中,有哪些让你觉得相见恨晚的方法.类或接口?,其实有一部是JAVA的,但是在android开发中也算常 ...

  6. Android中消息系统模型和Handler Looper

    http://www.cnblogs.com/bastard/archive/2012/06/08/2541944.html Android中消息系统模型和Handler Looper 作为Andro ...

  7. android - 调用系统分享功能分享图片

    step1: 编写分享代码, 将Uri的生成方式改为由FileProvider提供的临时授权路径,并且在intent中添加flag 注意:在Android7.0之后,调用系统分享,传入URI的时候可能 ...

  8. Android开发中Parcelable接口的使用方法

    在网上看到很多Android初入门的童鞋都在问Parcelable接口的使用方法,小编参考了相关Android教程,看到里面介绍的序列化方法主要有两种分别是实现Serializable接口和实现Par ...

  9. Android中调用系统所装的软件打开文件(转)

    Android中调用系统所装的软件打开文件(转) 在应用中如何调用系统所装的软件打开一个文件,这是我们经常碰到的问题,下面是我所用到的一种方法,和大家一起分享一下! 这个是打开文件的一个方法: /** ...

随机推荐

  1. 将excel数据读入matlab

    1.[NUM,TXT,RAW]=xlsread('example'),其中example是你的excel名,假设所有的数据都在example.xls中. 2.NUM返回的是excel中的数据,TXT输 ...

  2. 软件工程:黄金G点小游戏1.0

    我们要做的是黄金G点小游戏: N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值. ...

  3. asp.net mvc添加多条数据到数据库

    mvc的视图太强大了,个人刚刚接触.(初级菜鸟,懂的不多,往大神们指点)需求是,客户点击添加按钮弹出一个框选择产品后直接添加到表单中,在表单可以自己更改产品的数量,以及一些信息.mvc表单提交的时候只 ...

  4. 【转】angular指令入坑

    独立作用域和函数参数 通过使用本地作用域属性,你可以传递一个外部的函数参数(如定义在控制器$scope中的函数)到指令.这些使用&就可以完成.下面是一个例子,定义一个叫做add的本地作用域属性 ...

  5. Web开发者需养成的好习惯

    Web开发者需养成的8个好习惯 每个行业有着每个行业的标准和一些要求,自己只是一个进入前端领域的小白,但是深刻的知道,习惯很重要,就Web开发分享一下,要养成的一些好的习惯. 优秀的Web开发人员工作 ...

  6. Xamarin的不归路-使用Gorilla Player实时预览XAML

    搞了一天,才安装好,记录一下遇到的坑,为大家节约些时间. 一.下载软件 软件下载地址:http://gorillaplayer.com/ 没有FQ前用360极速浏览器和迅雷下载了好多次都失败了.用了蓝 ...

  7. aspnet webapi 跨域请求 405错误

    跨域,请求按要求配置完毕之后,options预请求老是报错.原因是webapi 默认的web.config有配置 <handlers> <remove name="Exte ...

  8. [转]定位占用oracle数据库cpu过高的sql

    今天在吃饭的时候我的朋友的数据库出现了问题,cpu占用率为97%,当我看到这个问题的时候我就想到了或许是sql导致的此问题,由于忍不住吃饭,暂时没有帮他看这个问题,这是我饭后自己模拟的故障,进行的分析 ...

  9. linux 用户管理(一)

    本节内容梗概: 1.用户管理配置文件 2.用户管理命令 3.用户组管理命令 4.批量添加用户 5.用户授权 学东西先讲原理,所以从配置文件入手 1.用户信息文件  /etc/passwd 存放了用户的 ...

  10. NPOI、MyXls、Aspose.Cells 导入导出Excel(转)

    Excel导入及导出问题产生: 从接触.net到现在一直在维护一个DataTable导s出到Excel的类,时不时还会维护一个导入类.以下是时不时就会出现的问题: 导出问题: 如果是asp.net,你 ...