Android - Como converter imagem de webview.capturePicture () para byte [] e de volta para bitmap

Eu estou tentando capturar a imagem que estou recebendo de webview.capturePicture () para salvá-lo em um sqliteDatabase, para que eu precise converter a imagem para um byte [] para poder salvá-lo como um BLOB na minha tabela e, em seguida, capaz de recuperar esse byte [] e convertê-lo de volta para um bitmap.

Aqui está o que estou fazendo:

<code>Picture p = webView.capturePicture();  
ByteArrayOutputStream bos = new ByteArrayOutputStream();  
p.writeToStream(bos);

byte[] ba = bos.toByteArray());
</code>

Eu então recupero a imagem por:

<code>byte[] image = cursor.getBlob(imageColumnIndex);
Bitmap bm = BitmapFactory.decodeByteArray(image, 0, image.length);
</code>

Eu sou capaz de recuperar o byte [] muito bem, mas eu recebo um bitmap nulo o tempo todo de bitmapfactory.

Eu também noto que se eu log.d (TAG, "" + bos) eu recebo uma longa seqüência de bytes como esperado, mas se eu fizer o mesmo para ba logo após eu fazer o bos.toByteArray () eu apenas recebo um array curto, alguma coisa assim: [B @ 2b0a7c60

Eu estou supondo que estou tendo problemas talvez para converter por OutputStream para byteArray. Isso porque o método capturePiture () retorna um OutputStream em vez de um ByteArrayOutputStream?

Qualquer ajuda seria apreciada.

questionAnswers(1)

yourAnswerToTheQuestion