TheEvilOne
- Forum-Beiträge: 311
20.03.2012, 13:01:09 via Website
20.03.2012 13:01:09 via Website
Hallo,
ich habe eine MalApp geschrieben. Sie ist soweit fertig, nur heute ist mir noch ein Bug aufgefallen. Und dieser Bug hindert mich als einzigstes noch vor der Veröffentlung im Market *argh*
Und zwar kann man in der App die Kamera aufrufen und ein Foto machen. Das Foto wird dann der Zeichenfläche hinzugefügt und man kann es bemalen. Auf allen Smartphones funktioniert es einwandtfrei.
Jetzt konnte ich die Funktion heute früh auf einem Samsung Galaxy Tab und einem Acer Iconia testen und bei beiden fliegt mir die Anwendung an der Stelle um die Ohren.
In der Anwendung rufe ich über ein Intent die Kamera auf:
Nachdem man ein Bild gemacht hat, kann man auf der Kamera "Fertig" oder "Speichern" klicken, dann wird folgender Code ausgeführt:
Wie gesagt, bei Smartphones funktioniert es super. Bei Tablets ist die Uri "selectedImage" null und ich bekomme eine NullPointerException.
Ich möchte, dass die Kamera das Bild in ihrem vom System vorgegebenen Ordner ablegt. Von dem geschossenen Bild erstelle ich mir eine Kopie und zeige diese in der Zeichenfläche an, ohne sie zu diesem Zeitpunkt in das Dateisystem zu schreiben.
Ich dachte erst, es könnte vielleicht daran liegen, dass die Camera meines Smartphones die Bilder auf der SD-Karte und das Tablets die Bilder in den internen Speicher ablegt. Aber dann würde ich doch eine andere Fehlermeldung bekommen.
Kennt jemand das Problem oder kann mir irgendwie weiterhelfen?
Danke und viele Grüße
ich habe eine MalApp geschrieben. Sie ist soweit fertig, nur heute ist mir noch ein Bug aufgefallen. Und dieser Bug hindert mich als einzigstes noch vor der Veröffentlung im Market *argh*
Und zwar kann man in der App die Kamera aufrufen und ein Foto machen. Das Foto wird dann der Zeichenfläche hinzugefügt und man kann es bemalen. Auf allen Smartphones funktioniert es einwandtfrei.
Jetzt konnte ich die Funktion heute früh auf einem Samsung Galaxy Tab und einem Acer Iconia testen und bei beiden fliegt mir die Anwendung an der Stelle um die Ohren.
In der Anwendung rufe ich über ein Intent die Kamera auf:
1Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
2
3intent.putExtra(MediaStore.EXTRA_OUTPUT, true);
4
5startActivityForResult(intent, CAM_REQUESTCODE);
2
3intent.putExtra(MediaStore.EXTRA_OUTPUT, true);
4
5startActivityForResult(intent, CAM_REQUESTCODE);
Nachdem man ein Bild gemacht hat, kann man auf der Kamera "Fertig" oder "Speichern" klicken, dann wird folgender Code ausgeführt:
1if(data != null){
2
3Uri selectedImage = data.getData();
4
5String[] filePathColumn = { MediaStore.Images.Media.DATA };
6
7Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
8
9...
2
3Uri selectedImage = data.getData();
4
5String[] filePathColumn = { MediaStore.Images.Media.DATA };
6
7Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
8
9...
Wie gesagt, bei Smartphones funktioniert es super. Bei Tablets ist die Uri "selectedImage" null und ich bekomme eine NullPointerException.
Ich möchte, dass die Kamera das Bild in ihrem vom System vorgegebenen Ordner ablegt. Von dem geschossenen Bild erstelle ich mir eine Kopie und zeige diese in der Zeichenfläche an, ohne sie zu diesem Zeitpunkt in das Dateisystem zu schreiben.
Ich dachte erst, es könnte vielleicht daran liegen, dass die Camera meines Smartphones die Bilder auf der SD-Karte und das Tablets die Bilder in den internen Speicher ablegt. Aber dann würde ich doch eine andere Fehlermeldung bekommen.
Kennt jemand das Problem oder kann mir irgendwie weiterhelfen?
Danke und viele Grüße
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.