Gespeicherte Bitmap in Android ist 3 Bytes lang, wenn sie gelesen wird

9

Ich habe eine Aktivität, um ein Profilbild auszuwählen und zu speichern. Es gibt eine Bildansicht und eine Schaltfläche, die die Galerieaktivität für das Ergebnis startet, wodurch der Benutzer ein Bild auswählen kann. Wenn die Galerie geschlossen ist, wird der folgende Code ausgeführt:

%Vor%

Ich habe diesen Code debugged und überprüft, dass:  - Es wird keine Ausnahme geworfen;  - die geschriebenen Dateien enthalten die genaue Datenmenge (17kB für das JPG-Bild, 24kB für die base64-Version);  - Die erzeugte Bitmap ist diejenige, die ich erwarte und die korrekt in der Bildansicht angezeigt wird.

popImageView wird nur verwendet, um die Bildansicht über anderen Ansichten zu verschieben, die sich vor der Auswahl eines Bildes auf der Vorderseite befanden. und decodeAndScale-Methode funktioniert nur auf Bitmap-Daten im Speicher und speichert nichts.

Wenn ich jedoch versuche, das aktuelle Bild beim Start der Aktivität neu zu laden, ist das angezeigte Bild leer und die JPEG-Datei enthält 3 Bytes:

%Vor%

Hier pictureExists prüft, ob der Dateiname in der von listFiles () zurückgegebenen Sammlung enthalten ist. pictureFile.exists () gibt true zurück, aber wie gesagt, es enthält 3 Bytes. Ich habe auch versucht mit BitmapFactory.decodeX, aber da die Datei kaputt ist, war es nutzlos.

Ich kann nicht verstehen warum. Ich habe überprüft, dass die Datei komplett geschrieben wurde und verschwindet dann ... Als ich auf meinem Nexus S debugging, funktionierte der Code gut, aber dann wechselte ich zu einem Nexus 5 und es brach.

    
Totem 21.12.2014, 22:23
quelle

2 Antworten

0

Haben Sie versucht, die Datei mit BitmapFactory zu einer Bitmap zu dekodieren?

Ссылка

Habe den folgenden Code nicht getestet, aber können Sie es bitte versuchen:

%Vor%     
SISLAM 31.12.2014 13:50
quelle
0

Versuchen Sie dies in Ihrem onActivityResult

%Vor%

Verwenden Sie dann selectedImagePath als Dateipfad.

Ich hoffe, es hilft.

    
Rohail Ahmed 31.12.2014 14:14
quelle

Tags und Links