Android take screenshot via code

后端 未结 1 844
栀梦
栀梦 2020-11-27 16:05

This shouldn\'t be too tough of a question. I want the ability to take a screenshot of my layout (view) and send it via sms. Can someone walk me though the steps?

相关标签:
1条回答
  • 2020-11-27 17:07

    Around the web I found some snippets of code that I was able to get working together.

    Here is a solution that works well:

    Setting up your Root layout:

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

    Function to get the rendered view:

    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();
        }
    }
    
    0 讨论(0)
提交回复
热议问题