2012-07-13 15 views
5

Uso il seguente codice scattare una foto dalla fotocamera e ottenere il percorso dell'immagine.L'intento della videocamera per ACTION_IMAGE_CAPTURE non viene visualizzato su Samsung Galaxy Nexus (4.0.2)

... 
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
startActivityForResult(cameraIntent, CAMERA_IMAGE_CAPTURE); // image capture 
... 
@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    Log.d(TAG, "onActivityResult:" + resultCode + " request:" + requestCode); 

    switch (requestCode) { 
     case CAMERA_IMAGE_CAPTURE: 
      Uri selectedImageUri = data.getData(); 
      userImagePath = getPath(selectedImageUri); 
     break; 
    } 
} 

Funziona bene su emulatore e su dispositivi diversi. Ma su Samsung Galaxy Nexus (4.0.2) non avvia l'app Fotocamera. Ma restituisce RESULT_OK a onActivityResult e non vedo eccezioni in LogCat. Per favore, dammi e consigli su come risolvere questo problema. Grazie in anticipo!

+0

http://stackoverflow.com/questions/7277287/default-camera-activity-not-finishing-upon-ok- pulsante-premere/14806908 # 14806908 Basta controllare questo link .. potrebbe essere utile ....... Il problema potrebbe essere a causa del nome del file o del percorso (che sarebbe meglio se non ha caratteri speciali come spazi) – Satish

risposta

7

Manca EXTRA_OUTPUT, che potrebbe avere un impatto. Il mio Galaxy Nexus può essere eseguito con successo this sample project, che utilizza il seguente codice per richiedere il quadro:

Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM); 

output = new File(dir, "CameraContentDemo.jpeg"); 
i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(output)); 

startActivityForResult(i, CONTENT_REQUEST); 
+1

Ciao, sfortunatamente lo stesso esempio non funziona per me. Sul mio Samsung Galaxy S1, dopo aver fatto clic su OK nella schermata di conferma, l'intenzione non torna alla mia attività. C'è qualche trucco che mi manca? –

+0

@ TomBurger: dovresti essere chiamato con 'onActivityResult()'. In caso contrario, questo è forse un bug Samsung. – CommonsWare

+1

no, dopo aver cliccato su OK mi riporta all'applicazione fotocamera. Ritorna alla mia attività solo dopo aver fatto clic su Annulla. A proposito, lo stesso problema ad esempio qui: http://stackoverflow.com/questions/8221879/how-to-go-back-from-calling-intent –

Problemi correlati