现在的位置: 首页 > 综合 > 正文

Android 分享功能

2014年01月10日 ⁄ 综合 ⁄ 共 1822字 ⁄ 字号 评论关闭

Android 分享功能

Android 2011-05-22 19:14:40 阅读90 评论0   字号: 订阅

<activity ......>

    <intent-filter>
        <action android:name = "android.intent.action.SEND_MULTIPLE"/>  <!--多选文件时支持分享-->
        <action android:name = "android.intent.action.SEND"/> <!--单文件分享-->
        <data android:mimeType = "image/*"/> <!--图片分享-->
        <data android:mimeType = "video/*"/>  <!--视频分享-->
        <data android:mimeType = "audio/*"/>  <!--音频分享-->
        <data android:mimeType = "*/*"/>  <!--所有分享-->
    </intent-filter>
</activity>

private ArrayList<String> getShareFilePathList(){
    ArrayList<String> mShareFilePathList = new ArrayList<String>();
    Intent intent = getIntent();
    if(Intent.ACTION_SEND.equals(intent.getAction())){ //分享单个
        Bundle extras = intent.getExtras();
        if(extras.containsKey(Intent.EXTRA_STREAM)){
            Uri uri = (Uri)extras.getParcelable(Intent.EXTRA_STREAM);
            String scheme = uri.getScheme();
            if(scheme.equals("content")){
                ContentResolver cr = getContentResolver();
                Cursor c = cr.query(uri,null,null,null,null);
                c.moveToFirst();
                String filePath = c.getString(c.getColumnIndexOrThrow(Images.Media.DATA));
                mShareFilePathList.add(filePath);
                c.close();
            }
        }
    }else if(Intent.ACTION_SEND_MULIPLE.equals(mIntent.getAction())){ //分享多个
        Bundle extras = mIntent.getExtras();
        if(extras.containsKey(Intent.EXTRA_STREAM)){
            ArrayList<Parcelable> mList = extras.getParcelableArrayList(Intent.EXTRA_STREAM);
            for(Parcelable pa:mList){
                Uri uri = (Uri)pa;
                String scheme = uri.getScheme();
                if(scheme.equals("content")){
                    ContentResolver cr = getContentResolver();
                    Cursor c = cr.query(uri,null,null,null.null);
                    c.moveToFirst();
                    String filePath = c.getString(c.getColumnIndexOrThrow(Images.Media.DATA));
                    mShareFilePathList.add(filePath);
                    c.close();
                }
            }
        }
    }
    return mShareFilePathList;
}

抱歉!评论已关闭.