2016-03-06 86 views
1

我有以下的回調decodeByteArray(數據[0]返回null PictureCallback

PictureCallback jpegCallback = new PictureCallback() { 
     public void onPictureTaken(byte[] data, Camera camera) { 
      new processImage().execute(data); 
     } 
    }; 

,任務是這樣的,這裏的BMP總是空,任何想法?

private class processImage extends AsyncTask<byte[], Void, Bitmap> { 

    @Override 
    protected Bitmap doInBackground(byte[]... data) { 


     Bitmap bmp = BitmapFactory.decodeByteArray(data[0], 0, data.length); 

     //Do stuff with the bmp  


    } 
... 
... 
} 

回答

0

的方式我看看它,你沒有正確調用decodeByteArray函數,應該是BitmapFactory.decodeByteArray(data[0],0,data[0].length)

+0

實際上'data'是一個可變參數參數,所以'data [0]'是第一個'byte []'。最後一個參數應該是'數據[0] .length'。 –

+0

你是對的,錯誤是當給出長度時,應該是data [0] .length,我沒有看到可變參數參數,對不起。 –

+0

我剛剛發現這個問題,你說得對,它是數據[0] .length。 –