I am using the following code to take screen shot of current activity:
View rootview = findViewById(android.R.id.content).getRootView();
rootview.setDrawingCacheEnabled(true);
And save the image on the SD card.
But I am trying to take a screenshot of not just this app, but outside this app as well, I have done some research and found that it's possible only with ROOTED devices, but is there any way that we can take a screen shot of any screen without rooting the device?