调用系统相册和播放器返回图片和视频

1.拍照后制定位置存储


Intent getImageByCamera = new Intent("android.media.action.IMAGE_CAPTURE");
capturePath = Constant.IMGPATH + File.separator + System.currentTimeMillis() + ".jpg";
getImageByCamera.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(capturePath))); 

startActivityForResult(getImageByCamera, 1);

2.调用系统播放器

Photo photo = list.get(i);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(photo.path), "video/mp4");
startActivity(intent);
//也可以播放网络视频
Intent intent = new Intent(Intent.ACTION_VIEW);
String type = "video/* ";
Uri uri = Uri.parse("http://forum.ea3w.com/coll_ea3w/attach/2008_10/12237832415.3gp");
intent.setDataAndType(uri, type);
startActivity(intent); 

3.调用系统图库显示图片

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://" +item.getPath), "image/*");
startActivity(intent);

4.调用系统相册选择图片

  //调用相册
 //4.0版本之前利用系统相册选择照片调用这个方法就可以,4.0之后调用之后会左边会增加一个抽屉显示最近内容什么的,此时返回的uri并不能直接查询出数据
Intent local = new Intent();
local.setType("image/*");
local.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(local, 7);
//两个版本的uri对比

content://com.android.providers.media.documents/document/image%3A228455(4.0之后)
content://com.android.providers.media.documents/document/228455(4.0)

//4.0之后的版本调用这个方法,同时兼容4.0

 ntent local1 = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
local1.setType("image/*");
startActivityForResult(local1, 7);

  @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            Uri uri = data.getData();  
            img.setImageURI(uri);  
            ContentResolver cr = this.getContentResolver();  
            Cursor c = cr.query(uri, null, null, null, null);  
            c.moveToFirst();  
            //这是获取的图片保存在sdcard中的位置  
            srcPath = c.getString(c.getColumnIndex("_data"));  
            System.out.println(srcPath+"----------保存路径2");  
    }

5.调用媒体库选择视频

       Intent local = new Intent();
       local.setType("video/*;image/*");
       local.setAction(Intent.ACTION_GET_CONTENT);
       startActivityForResult(local, 8);

@Override  
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
        // 选取图片的返回值  
        if (requestCode == 1) {  
            //  
            if (resultCode == RESULT_OK) {  
                Uri uri = data.getData();  
                Cursor cursor = getContentResolver().query(uri,     null, null,  null, null);  
                cursor.moveToFirst();  
                // String imgNo = cursor.getString(0); // 图片编号  
                String v_path = cursor.getString(1); // 图片文件路径  
                String v_size = cursor.getString(2); // 图片大小  
                String v_name = cursor.getString(3); // 图片文件名  
                LogUtil.e("v_path="+v_path);  
                LogUtil.e("v_size="+v_size);  
                LogUtil.e("v_name="+v_name);  
            }  
        }  
        super.onActivityResult(requestCode, resultCode, data);  
    }  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值