P
pyretta
Ambitioniertes Mitglied
- 1
Hallo,
ich zermarter mir schon wieder mein Hirn und bin schon fast am Verzweifeln.
Ich möchte mittels eines "Cam-Buttons" in meiner App auf die Kamera zugreifen und ein Bild machen lassen. Das soll in einem speziellen Ordner mit speziellem Dateinamen abgelegt werden.
Die Benutzung der Kamera hab ich schon hinbekommen, nur das mit dem Dateinamen will einfach nicht klappen. Die Kamera-App speichert die Datei stur mit dem timestamp als Dateinamen oder mit einem Zahlencode.
Dann habe ich bei stack-overflow ein cooles Script gefunden, in der Hoffnung es bringt den gewünschten Erfolg, wie in dem Thread beschrieben, aber nun macht der Button einfach gar nix mehr.
Hier mal der Code:
Ich hab sicher irgendwo einen Denkfehler, finde ihn aber einfach nicht.
Hier das was mir das LogCat dazu ausgibt, wenn ich den Cam-Button drücke.
Vielen Dank schonmal im Voraus.
Liebe Grüße,
pyretta
ich zermarter mir schon wieder mein Hirn und bin schon fast am Verzweifeln.
Ich möchte mittels eines "Cam-Buttons" in meiner App auf die Kamera zugreifen und ein Bild machen lassen. Das soll in einem speziellen Ordner mit speziellem Dateinamen abgelegt werden.
Die Benutzung der Kamera hab ich schon hinbekommen, nur das mit dem Dateinamen will einfach nicht klappen. Die Kamera-App speichert die Datei stur mit dem timestamp als Dateinamen oder mit einem Zahlencode.
Dann habe ich bei stack-overflow ein cooles Script gefunden, in der Hoffnung es bringt den gewünschten Erfolg, wie in dem Thread beschrieben, aber nun macht der Button einfach gar nix mehr.
Hier mal der Code:
Code:
Button cam_button = (Button) findViewById(R.id.cam_button);
cam_button.setOnClickListener(new OnClickListener(){
public void onClick(View view) {
PictureCallback myPictureCallback_JPG = new PictureCallback(){
public void onPictureTaken(byte[] arg0, Camera arg1) {
Camera camera = arg1;
int imageNum = 0;
Intent imageIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File imagesFolder = new File(Environment.getExternalStorageDirectory(), "Bildordner");
imagesFolder.mkdirs(); // <----
String fileName = "bild_" + String.valueOf(imageNum) + ".jpg";
File output = new File(imagesFolder, fileName);
while (output.exists()){
imageNum++;
fileName = "bild_" + String.valueOf(imageNum) + ".jpg";
output = new File(imagesFolder, fileName);
}
Uri uriSavedImage = Uri.fromFile(output);
imageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
OutputStream imageFileOS;
try {
imageFileOS = getContentResolver().openOutputStream(uriSavedImage);
imageFileOS.write(arg0);
imageFileOS.flush();
imageFileOS.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
startActivityForResult(imageIntent,1); //meine Adaption, damit ich den Intent nutzen kann.
// Original: camera.startPreview();
// funktioniert aber beides nicht.
}};
}
});
Hier das was mir das LogCat dazu ausgibt, wenn ich den Cam-Button drücke.
Könnt Ihr mir da weiterhelfen?04-12 09:29:47.660: I/InputReader(129): dispatchTouch::touch event's action is 0
04-12 09:29:47.660: I/InputDispatcher(129): Delivering touch to current input target: action: 0, channel '40958950 de.appname/activityname (server)'
04-12 09:29:47.746: I/InputReader(129): dispatchTouch::touch event's action is 1
04-12 09:29:47.746: I/InputDispatcher(129): Delivering touch to current input target: action: 1, channel '40958950 de.appname/activityname (server)'
Vielen Dank schonmal im Voraus.
Liebe Grüße,
pyretta
Zuletzt bearbeitet: