• Android应用中实现系统“分享”接口


    在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


  • 相关阅读:
    DATASTAGE中ODBC连接的配置
    DataStage 服务启动
    VS 安装部署项目自解压程序解压后按顺序执行多个程序
    DataStage系列教程 (Pivot_Enterprise 行列转换)
    [Leetcode] Binary tree-- 637. Average of Levels in Binary Tree
    [Leetcode] Binary tree -- 501. Find Mode in Binary Search Tree
    [Leetcode] Binary tree-- 606. Construct String from Binary Tree
    [Leetcode] DP-- 516. Longest Palindromic Subsequence
    [Leetcode] DP-- 638. Shopping Offers
    [Leetcode] DP-- 464. Can I Win
  • 原文地址:https://www.cnblogs.com/yishaochu/p/5078649.html
Copyright © 2020-2023  润新知