Can't Get The Image From Gallery Using Fragment
I want to get the image from the gallery and replace the initial image of the imageView. But it does not change even if select the image in the gallery. I examined if it works norm
Solution 1:
Use custom function get Absolute path of get image bitamp :
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == REQUEST_GALLERY && resultCode == Activity.RESULT_OK) {
try {
imageView.setImageBitmap(BitmapFactory.decodeFile(getAbsolutePath(data.getData())));
} catch (Exception e) {
}
}
}
public String getAbsolutePath(Uri uri) {
if(Build.VERSION.SDK_INT >= 19){
String id="";
if(uri.getLastPathSegment().split(":").length>0){
id = uri.getLastPathSegment().split(":")[1];
}else{
id = uri.getLastPathSegment().split(":")[0];
}
final String[] imageColumns = {MediaStore.Images.Media.DATA };
final String imageOrderBy = null;
Uri tempUri = getUri();
Cursor imageCursor = getContentResolver().query(tempUri, imageColumns,MediaStore.Images.Media._ID + "="+id, null, imageOrderBy);
if (imageCursor.moveToFirst()) {
return imageCursor.getString(imageCursor.getColumnIndex(MediaStore.Images.Media.DATA));
}else{
return null;
}
}else{
String[] projection = { MediaColumns.DATA };
Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
if (cursor != null) {
int column_index = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
} else
return null;
}
}
Solution 2:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == CODE_GALLERY_REQUEST){
if (grantResults.length >0 && grantResults[0]== PackageManager.PERMISSION_GRANTED){
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent,"Select deposit slip"), CODE_GALLERY_REQUEST);
}else{
Toast.makeText(getActivity(),"You dont Have permission",Toast.LENGTH_LONG).show();
}
return;
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
Post a Comment for "Can't Get The Image From Gallery Using Fragment"