Подтвердить что ты не робот

Android делает скриншот с помощью кода

Это не должно быть слишком жестким вопросом. Мне нужна возможность сделать снимок экрана моего макета (просмотреть) и отправить его через sms. Может ли кто-нибудь пройти меня, хотя шаги?

Спасибо!

Изменить: Это не должно быть "скриншотом", я думаю, до тех пор, пока мы получим все отображаемые пиксели из представления.

4b9b3361

Ответ 1

Вокруг Интернета я нашел несколько фрагментов кода, с которыми мне удалось работать вместе.

Вот решение, которое хорошо работает:

Настройка корневого макета:

View content = findViewById(R.id.layoutroot);
content.setDrawingCacheEnabled(true);

Функция для получения визуализированного представления:

private void getScreen()
{
    View content = findViewById(R.id.layoutroot);
    Bitmap bitmap = content.getDrawingCache();
    File file = new File("/sdcard/test.png");
    try 
    {
        file.createNewFile();
        FileOutputStream ostream = new FileOutputStream(file);
        bitmap.compress(CompressFormat.PNG, 100, ostream);
        ostream.close();
    } 
    catch (Exception e) 
    {
        e.printStackTrace();
    }
}