我一直在尝试从Nexus设备库中选择图片。由于在kitkat 4.4中更改了Storage框架,因此我很难实现此功能。我已经参考了这个链接{{3} }
我在图库中获取文件的路径..还解码图像并将其设置为imageView ..但是,一旦我这样做,我的应用程序突然关闭并再次重新连接到服务器并告诉我再次登录..可以有人请告诉我发生这种情况的原因..是否有任何许可可以添加或更多的代码..
这是获取Imagepath的代码..
Uri originalUri = data.getData();
final int takeFlags = data.getFlags()
& (Intent.FLAG_GRANT_READ_URI_PERMISSION
| Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
// Check for the freshest data.
getContentResolver().takePersistableUriPermission(originalUri, takeFlags);
String id = originalUri.getLastPathSegment().split(":")[1];
final String[] imageColumns = {MediaStore.Images.Media.DATA };
final String imageOrderBy = null;
Uri uri = getUri();
@SuppressWarnings("deprecation")
Cursor imageCursor = managedQuery(uri, imageColumns,
MediaStore.Images.Media._ID + "="+id, null, imageOrderBy);
if (imageCursor.moveToFirst())
{
picturepath = imageCursor.getString(imageCursor.getColumnIndex(MediaStore.Images.Media.DATA));
}
Bitmap b=decodeSampledBitmapFromFile(picturepath, 175, 175);
imgToBeUploaded.setImageBitmap(b);
Toast.makeText(StartingActivity.this, picturepath, Toast.LENGTH_SHORT).show();
谢谢和问候。
答案 0 :(得分:0)
很可能你因为这行
而得到java.lang.SecurityExceptiongetContentResolver().takePersistableUriPermission(originalUri, takeFlags);
尝试捕捉异常并且应该有效。