Снимок экрана SurfaceView в Android

Я использую следующий метод, чтобы сделать снимок экрана определенного вида, который является SurfaceView.

public void takeScreenShot(View surface_view){

    // create bitmap screen capture
    Bitmap bitmap;
    View v1 = surface_view;
    v1.setDrawingCacheEnabled(true);
    bitmap = Bitmap.createBitmap(v1.getDrawingCache());
    v1.setDrawingCacheEnabled(false);

    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    bitmap.compress(CompressFormat.PNG, 0, bos);
    byte[] imageData = bos.toByteArray();

}

проблема в том, что он дает мне изображение экрана всей активности. Но мне нужно сделать снимок экрана конкретного вида. Я пробовал другие способы, но те дают мне черный экран как снимок экрана, в некоторых сообщениях говорится, что для этого требуется рутованное устройство. Кто-нибудь может мне помочь. Мне нужно это решение. Помоги мне....

Ответы на вопрос(4)

Ваш ответ на вопрос