2012-07-13 7 views
5

Ich benutze folgenden Code, um ein Bild von der Kamera aufzunehmen und den Pfad des Bildes zu erhalten.Kameraabsicht für ACTION_IMAGE_CAPTURE erscheint nicht auf 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; 
    } 
} 

Es funktioniert gut auf Emulator und auf verschiedenen Geräten. Aber auf dem Samsung Galaxy Nexus (4.0.2) startet die Kamera-App nicht. Aber es gibt RESULT_OK an onActivityResult zurück und ich sehe keine Ausnahmen in LogCat. Bitte geben Sie mir und Ratschläge, wie Sie dieses Problem lösen können. Vielen Dank im Voraus!

+0

http://stackoverflow.com/questions/7277287/default-camera-activity-not-finishing-upon-ok- button-press/14806908 # 14806908 Überprüfen Sie einfach diesen Link..möchten hilfreich sein ....... Das Problem könnte wegen Dateiname oder Pfad sein (was wäre besser, wenn es keine Sonderzeichen wie Leerzeichen hat) – Satish

Antwort

7

Sie vermissen EXTRA_OUTPUT, was Auswirkungen haben kann. Mein Galaxy Nexus kann this sample project erfolgreich ausgeführt werden, die den folgenden Code verwendet das Bild anfordern:

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

Hallo, leider funktioniert das gleiche Beispiel nicht für mich. Auf meinem Samsung Galaxy S1, nachdem ich auf dem Bestätigungsbildschirm auf OK geklickt habe, kehrt die Absicht nicht zu meiner Aktivität zurück. Gibt es einen Trick, den ich vermisse? –

+0

@TomBurger: Sie sollten mit 'onActivityResult()' aufgerufen werden. Wenn nicht, ist das vielleicht ein Samsung-Bug. – CommonsWare

+1

nein, nach dem Klick auf OK bringt es mich zurück zur Kameraanwendung. Es kommt erst wieder zu meiner Aktivität, nachdem ich auf Abbrechen geklickt habe. Btw, das gleiche Problem zum Beispiel hier: http://stackoverflow.com/questions/8221879/how-to-go-back-from-calling-intent –

Verwandte Themen