在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. centos 创建swap 交换分区

    阿里云的服务器是没有交换分区的,如 [www-data@iZbp1ivdq1ie5lmrhp13kjZ ~]$ free -m total used free shared buff/cache av ...

  2. linux系统目录结构与层级命令使用

    笔者使用的是ubuntu,这里以ubuntu为例子. 一.目录层级结构说明: 1./---------(根目录),所有的目录都挂在其下: 2./boot--------- 存放Ubuntu内核和系统启 ...

  3. 在linux中设置静态ip地址

    在linux中设置静态ip地址1.在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.开始编辑,填写ip地址.子网掩码.网关.DNS等[root ...

  4. css制作对话框

    当你发现好多图都能用css画出来的时候,你就会觉得css很有魅力了.//我是这么觉得的,先不考虑什么兼容问题 像漫画里出现的对话框,往往都是一个对话框然后就加入一个箭头指向说话的那一方,来表示这个内容 ...

  5. Python之路Day19-Django(二)

    本节内容概要: 一.路由系统URL 二.视图 三.模板 四.ORM操作 问题1:Django请求生命周期 -> URL对应关系(匹配) -> 视图函数 -> 返回用户字符串 -> ...

  6. bzoj2599: [IOI2011]Race(点分治)

    写了四五道点分治的题目了,算是比较理解点分治是什么东西了吧= = 点分治主要用来解决点对之间的问题的,比如距离为不大于K的点有多少对. 这道题要求距离等于K的点对中连接两点的最小边数. 那么其实道理是 ...

  7. 判断是PC端还是移动端

    http://detectmobilebrowsers.com/ 此网站提供了各种编程语言(包括 Apache.ASP.ASP.NET.C#. IIS. JSP. JavaScript. jQuery ...

  8. apache 使用htaccess自定义路由机制

    先开启伪静态.详情查看这篇文章:http://www.cnblogs.com/CyLee/p/5544119.html 然后在项目根目录中新建一个.htaccess文件,加入以下代码 正则中()的变量 ...

  9. 封装自己的DB类(PHP)

    封装一个DB类,用来专门操作数据库,以后凡是对数据库的操作,都由DB类的对象来实现.这样有了自己的DB类,写项目时简单的sql语句就不用每次写了,直接调用就行,很方便! 1.封装一个DB类.一个类文件 ...

  10. set 集合容器实现元素的插入与中序排序

    创建set 对象,方法类似于 vector set< int > s ; 初始化: set<int>s; s.insert(); s.insert(); s.insert(); ...