获得本地图片地址(针对比如一加不能正常常规获得)

关键问题在于进入图库获得图片

        Intent intent = new Intent(Intent.ACTION_PICK);
        //intent.setType("image/*");//相片类型 。 
        intent.setData(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);//使用这句一加就能获得
        startActivityForResult(intent, code_gotoAlbum);

 

 

 Uri uri = data.getData();
                path = ImageUtil.getRealPathFromURI(context, uri);

 

 public static String getRealPathFromURI(Context context, Uri contentUri) {
        if (null == contentUri) {
            return null;
        }
        String res = null;
        String[] proj = {MediaStore.Images.Media.DATA};
        final String scheme = contentUri.getScheme();
        if (scheme == null) {
            res = contentUri.getPath();
            return res;
        }
        if (ContentResolver.SCHEME_FILE.equals(scheme)) {
            res = contentUri.getPath();
            return res;
        }
        if (ContentResolver.SCHEME_CONTENT.equals(scheme)) {
            Cursor cursor = context.getContentResolver().query(contentUri, proj, null, null, null);
            cursor.moveToFirst();
            if (null != cursor) {
                if (cursor.moveToFirst()) {
                    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                    if (column_index > -1) {
                        res = cursor.getString(column_index);
                        Log.w("test",res);
                    }
                }
           }
            cursor.close();
        }

        Log.w("test", "res:" + res);
        return res;
    }

 

转载于:https://www.cnblogs.com/lyxin/p/5974331.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值