È possibile utilizzare startActivityForResult
, inoltrare un oggetto che descrive un'azione che si desidera completare e l'origine dati su cui eseguire l'azione.
Fortunatamente per voi, Android include un azione per la raccolta cose: Intent.ACTION__PICK
e una fonte di dati contenenti le immagini: android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI
per le immagini sul dispositivo locale o android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
per le immagini sulla scheda SD.
chiamata startActivityForResult
passaggio nell'azione di prelievo e le immagini che si desidera all'utente di selezionare da come questo:
startActivityForResult(new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI), SELECT_IMAGE);
poi sovrascrivere onActivityResult
ad ascoltare per l'utente aver fatto un elenco.
@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
}
}
Una volta che avete l'immagine Uri è possibile utilizzarlo per accedere all'immagine e fare tutto ciò che devi fare con esso.
fonte
2009-02-15 16:26:31
Credo che quello che cercate è un fornitore di contenuti chiamato android.provider e una classe denominata MediaStore.Images [Maggiori informazioni si possono trovare qui.] (Http://developer.android.com/reference/android/provider/package-summary.html) – GregD