Вы можете использовать startActivityForResult
, передавая намерение, которое описывает действие, которое вы хотите заполнить, и источник данных для выполнения действия.
К счастью для вас, Android включает в себя Действие для собирание вещей: Intent.ACTION__PICK
и источник данных, содержащие изображения: android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI
для изображений на локальном устройстве или android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
для изображений на SD-карте.
Вызов startActivityForResult
прохождение в действие захвата и изображения, которые вы хотите, чтобы пользователь, чтобы выбрать из, как это:
startActivityForResult(new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI), SELECT_IMAGE);
Затем переопределить onActivityResult
слушать для пользователя, сделав выбор.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SELECT_IMAGE)
if (resultCode == Activity.RESULT_OK) {
Uri selectedImage = data.getData();
// TODO Do something with the select image URI
}
}
Как только у вас есть изображение Uri, вы можете использовать его для доступа к изображению и делать все, что вам нужно для этого.
Я считаю, что вы после этого является поставщиком контента называется android.provider и класс под названием MediaStore.Images [Более подробную информацию можно найти здесь.] (Http://developer.android.com/reference/android/provider/package-summary.html) – GregD