android cursor.getString(urlindex)获取本地图片路径为空

获取本地图片原来是这样写的:

Intent intent3 = new Intent(Intent.ACTION_GET_CONTENT);
intent3.setType("image/*");
startActivityForResult(intent3, REQUESTCODE);

但是报错:cursor.getString(urlindex)为空,但在模拟器上运行正常。很纳闷

//获得路径
        if (requestCode == REQUESTCODE) {
            Uri uri = data.getData();
            uri = geturi(data);//解决方案
            String[] pro = {MediaStore.Images.Media.DATA};
            
            Cursor cursor = getActivity().managedQuery(uri, pro, null, null, null);
            Cursor cursor1 = getActivity().getContentResolver().query(uri, pro, null, null, null);
            //拿到索引
            int index = cursor1.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
            //移动到光标开头
            cursor.moveToFirst();
            //根据索引值获取图片路径
            pathImg = cursor.getString(index);
            L.d("Tag--->path"+pathImg);
            UploadImg(pathImg);
        }

于是百度了一下,网上又说是版本的问题,4.4后的版本获取的路径与4.4之前的不同,但是我模拟器是6.0,弄不懂。。。。

最终的解决方法其实很简单,就是Intent.ACTION_GET_CONTENT换成Intent.ACTION_PICK

Intent intent3 = new Intent(Intent.ACTION_PICK);
intent3.setType("image/*");
startActivityForResult(intent3, REQUESTCODE);

 


版权声明:本文为songqueque04038原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。