@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
filePath = getOutputMediaFile(FileColumns.MEDIA_TYPE_IMAGE);
File file = new File(filePath);
Uri output = Uri.fromFile(file);
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
i.putExtra(MediaStore.EXTRA_OUTPUT, output);
startActivityForResult(i, RETURN_FILE_PATH);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//data is always null here.
//requestCode = RETURN_FILE_PATH;
//resultCode = Activity.RESULT_OK;
}
ho controllato i valori per di file e uscita Uri, entrambi sono fine e l'immagine catturata in realtà esiste in quella posizione.onActivityResult restituisce i dati nulli per un'immagine Cattura
Ma i dati restituiti in onActivityResult
sono sempre null
anche dopo l'acquisizione dell'immagine.
EDIT:
ho controllato questa domanda:
onActivityResult returns with data = null
che dice:
Ogni volta che si salva un'immagine passando EXTRAOUTPUT con l'intento fotocamera il parametro dei dati all'interno di onActivityResult restituisce sempre null. Quindi, anziché utilizzare i dati per recuperare l'immagine, utilizzare il percorso file su recuperare la bitmap.
e forse quella soluzione funzionerà per me. Ma il codice di cui sopra era un codice funzionante fino ad ora per lo stesso scenario.
Sì, ho appena visto quel post. Ma lo stesso codice ha funzionato negli ultimi 6 mesi perché tutto ad un tratto ora si comporta in questo modo :( –
Sfortunatamente non sono esperto su questo argomento metto quello che immagino sia una funzionalità specifica del dispositivo relativa all'hardware. c'è un comportamento diverso sui dispositivi Samsung: http://stackoverflow.com/q/8248327/1965084 – alex