I am using following method to taking screen shot of a particular view which is a SurfaceView.
public void takeScreenShot(View surface_view){ // create
Try using this one
Bitmap b = Bitmap.createBitmap(width , height, Bitmap.Config.ARGB_8888); v.setDrawingCacheEnabled(false); v.layout(0, 0, v.getLayoutParams().width, v.getLayoutParams().height); v.draw(c);