美文网首页
Android启动相册选择一张图片返回

Android启动相册选择一张图片返回

作者: wishes丶啊 | 来源:发表于2019-03-04 19:53 被阅读0次

    启动相册

    Intent intent = new Intent(Intent.ACTION_PICK);
    intent.setType("image/*");
    startActivityForResult(intent,1)  // 第二个参数是请求码
    

    获取结果

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode) {
            case 1:  // 请求码
                parseUri(data);
                break;
            default:
        }
    }
    

    // 解析被选择的图片文件路径

    public String parseUri(Intent data) {
        Uri uri=data.getData();
        String imagePath;
        // 第二个参数是想要获取的数据
        Cursor cursor = getContentResolver()
                .query(uri, new String[]{MediaStore.Images.ImageColumns.DATA},
                        null, null, null);
        if (cursor == null) {
            imagePath = uri.getPath();
        } else {
            cursor.moveToFirst();
            // 获取数据所在的列下标
            int index = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
            imagePath = cursor.getString(index);  // 获取指定列的数据
            cursor.close();
        }
        return imagePath;  // 返回图片地址
    }

    相关文章

      网友评论

          本文标题:Android启动相册选择一张图片返回

          本文链接:https://www.haomeiwen.com/subject/qnkwuqtx.html