Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to take screenshot programmatically on Android? [duplicate]

I want to take a fullscreen screenshot programmatically , for example, one of the android home screen or a menu. How can I get a view of the home screen in my application? I want to take it programmatically!!! It doesn't matter if it requires root mode!

Help me please and sorry for my English!

like image 259
Nolesh Avatar asked Sep 22 '11 11:09

Nolesh


2 Answers

Use following code

Bitmap bitmap;
View v1 = MyView.getRootView();
v1.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);

Here MyView is the View through which we need include in screen.

like image 178
Nirav Dangi Avatar answered Sep 28 '22 13:09

Nirav Dangi


Follow the link https://code.google.com/p/android-screenshot-library/downloads/list it allows you entire screenshot of any screen not only your app

adb shell /system/bin/screencap -p /sdcard/img.png this is a shell command take screenshot simple and fast

Try this

Process sh = Runtime.getRuntime().exec("su", null,null);
   OutputStream  os = sh.getOutputStream();
   os.write(("/system/bin/screencap -p " + "/sdcard/img.png").getBytes("ASCII"));
            os.flush();
            os.close();
            sh.waitFor();
like image 28
Viswanath Lekshmanan Avatar answered Sep 28 '22 11:09

Viswanath Lekshmanan