Możesz użyć startActivityForResult
, przekazując intencję opisującą czynność, którą chcesz wykonać, oraz źródło danych w celu wykonania akcji.
Na szczęście dla ciebie, Android obejmuje działania do podnoszenia rzeczy: Intent.ACTION__PICK
i źródło danych zawierające zdjęcia: android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI
dla obrazów na urządzeniu lokalnym lub android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
dla obrazów na karcie SD.
połączeń startActivityForResult
mijania w akcji pick a obrazy, które chcesz użytkownikowi wybrać z tak:
startActivityForResult(new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI), SELECT_IMAGE);
następnie zastąpić onActivityResult
słuchać dla użytkownika po dokonaniu wyboru.
@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
}
}
Po uzyskaniu obrazu Uri można go użyć, aby uzyskać dostęp do obrazu i zrobić, co trzeba z nim zrobić.
wierzę co jesteś po to dostawca treści nazywane android.provider i klasę o nazwie MediaStore.Images [Więcej informacji można znaleźć tutaj.] (http://developer.android.com/reference/android/provider/package-summary.html) – GregD