Ich benutze die Kamera des Telefons in einer Android-App, um ein Foto zu machen. Ich verwende Intents die eingebaute Kamera-Anwendung zu verwenden, und ich bin mit dem folgenden Code:Telefonkamera über Intent verwenden - Aktivität kehrt nie zurück?
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(FILEPATH)));
startActivityForResult(intent, ACTIVITY_NATIVE_CAMERA_AQUIRE);
Es funktioniert gut, und die Kamera gebracht. Ich kann ein Foto machen und das Telefon zeigt mir drei Optionen: Abbrechen, Wiederholen, OK. Die ersten beiden arbeiten, drücken Abbrechen kehrt der Benutzer zur App, aber drücken Sie OK und nichts geschieht. Anscheinend wird onActivityResult nicht aufgerufen, und die Kamera bleibt einfach auf dem Bildschirm. Nichts im Debugger.
Ausführen der App auf einem Nexus One mit Android 2.2.1. Das gleiche Problem auf dem Emulator mit Android 2.0.
Bearbeiten: Getestet auf einem HTC Desire mit Android 2.2 mit HTC Sense UI: funktioniert perfekt. Nichts auf dem Emulator noch Google N1.
EDIT2: Es scheint, dass das HTC Desire Bild aquiring Aktivität funktioniert besser in dem Sinne, dass sie zurückkehrt, aber es ignoriert die EXTRA_OUTPUT -Einstellung und gibt nur ein kleines Bild in der onActivityResult -Aufruf. Wenn ich auf der ddms-Konsole nachschaue, während das Telefon an den Computer angeschlossen ist, sehe ich, dass das Telefon das Bild auf der SD-Karte speichert, aber der Pfad wird nicht an meine Anwendung zurückgegeben. Es sieht so aus, als ob es keinen zuverlässigen Weg gibt, die Absicht der Kamera zu nutzen und ein Bild von vernünftiger Größe zurück zu bekommen. Schlecht schlecht schlecht.
So gibt es keine Möglichkeit, SD-Karte zu vermeiden? Wenn es nicht verfügbar ist, dann können Sie kein Bild in voller Größe erhalten? Ich stehe vor einem ähnlichen Problem. Hier ist mein Beitrag http://stackoverflow.com/questions/4632231/is-there-any-way-to-store-full-size-image-returned-from-camera-activity-in-intern – Pritam