Heute muss ich mit einer schwierigen Sache beschäftigen.Android speichern Kamerabild zu lokalen Speicher
Ich starte die Kamera und möchte so das aufgenommene Bild direkt in meinen internen Speicher speichern, ohne es hinein zu bewegen.
File targetDir = new File(getApplicationContext().getFilesDir()+File.separator+"PROJECTMAIN"+File.separator+"SUBFORDER");
targetDir.mkdirs(); //create the folder if they don't exist
File externalFile = new File(targetDir, "picturename.jpg");
Uri imageURI = Uri.fromFile(externalFile);
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageURI);
startActivityForResult(takePictureIntent, actionCode);
Es scheint, dass, wenn ich versuche, sie in den internen Speicher direkt zu speichern, die Kamera mein Klick auf den „OK“ -Knopf ignoriert, nachdem ich das Bild aufzunehmen. Ich denke, dass etwas mit der "internen" URI nicht stimmt, denn wenn ich anstelle von getApplicationContext().getFilesDir()
für extra_output verwende, funktioniert alles gut, aber dann muss ich die Datei anschließend in den internen Speicher verschieben (der Bewegungsprozess funktioniert gut mit "getApplicationContext() .getFilesDir() ")
Die Kamera tut gerade nichts, wenn ich ein Foto mache und die OK-Taste drücke, um mit der internen URI fortzufahren ... Ich kann nicht glauben, dass das mit der Lagerung schwierig ist in Android.
Irgendwelche Ideen? vielleicht erlaubt die Kamera nur das Speichern von Bildern auf dem externen Speicher?
beziehen Sie sich auf den Beitrag http://StackOverflow.com/Questions/12193607/How-to-save-capture-image-in-sdcard –