SDK-Version - 1.6
Ich verwende folgende Absicht, um die Standardgalerie von Android zu öffnen:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(
Intent.createChooser(intent, "Select Picture"), 101);
Jetzt in onActivityResult
Ich bin in der Lage, die ursprüngliche Uri und den Pfad des ausgewählten Bildes zu erhalten, aber ich bin nicht in der Lage, die Uri und den Pfad der Miniaturansicht des ausgewählten Bildes zu erhalten.
Code zum Abrufen der Uri und des Pfades des Originalbildes:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
try {
if (requestCode == 101 && data != null) {
Uri selectedImageUri = data.getData();
String selectedImagePath = getPath(selectedImageUri);
} else {
Toast toast = Toast.makeText(this, "No Image is selected.",
Toast.LENGTH_LONG);
toast.show();
}
} catch (Exception e) {
e.printStackTrace();
}
}
public String getPath(Uri uri) {
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
PS: 1) ich bin nicht auf der Suche nach einer Größenänderung des Bildes Frage . Ich bin speziell auf der Suche nach den Miniaturbildern, die von Android OS selbst generiert werden.
2) Ich verwende SDK Version 1.6 und bin nicht interessiert an ThumbnailUtils Klasse.