como criar e salvar uma captura de tela de uma visualização de surf?

Eu tenho um aplicativo que quero capturar uma captura de tela

Aqui está o meu código:

public class Screenshot {

    private final View view;

    /** Create snapshots based on the view and its children. */
    public Screenshot(View root) {
            this.view = root;
    }

    /** Create snapshot handler that captures the root of the whole activity. */
    public Screenshot(Activity activity) {
            final View contentView = activity.findViewById(android.R.id.content);
            this.view = contentView.getRootView();
    }

    /** Take a snapshot of the view. */
    public Bitmap snap() {
            Bitmap bitmap = Bitmap.createBitmap(this.view.getWidth(), this.view.getHeight(), Config.ARGB_8888);
            Canvas canvas = new Canvas(bitmap);
            view.draw(canvas);
            return bitmap;
    }

}

mas o conteúdo do surfaceView é salvo comoPreto. !!!

Por favor me ajude, obrigado ...

questionAnswers(1)

yourAnswerToTheQuestion