Use this two method
public
void
loadImagefromGallery(View view) {
// Create intent to Open Image applications like Gallery, Google Photos
Intent galleryIntent =
new
Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
// Start the Intent
startActivityForResult(galleryIntent, RESULT_LOAD_IMG);
}
@Override
protected
void
onActivityResult(
int
requestCode,
int
resultCode, Intent data) {
super
.onActivityResult(requestCode, resultCode, data);
try
{
// When an Image is picked
if
(requestCode == RESULT_LOAD_IMG && resultCode == RESULT_OK
&&
null
!= data) {
// Get the Image from data
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
// Get the cursor
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn,
null
,
null
,
null
);
// Move to first row
cursor.moveToFirst();
int
columnIndex = cursor.getColumnIndex(filePathColumn[
0
]);
imgDecodableString = cursor.getString(columnIndex);
cursor.close();
ImageView imgView = (ImageView) findViewById(R.id.imgView);
// Set the Image in ImageView after decoding the String
imgView.setImageBitmap(BitmapFactory
.decodeFile(imgDecodableString));
}
else
{
Toast.makeText(
this
,
"You haven't picked Image"
,
Toast.LENGTH_LONG).show();
}
}
catch
(Exception e) {
Toast.makeText(
this
,
"Something went wrong"
, Toast.LENGTH_LONG)
.show();
}
}
Add permission in AndroidManifest.xml
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
No comments:
Post a Comment