How to take screenshot programmatically on Android

2020-01-31 07:38发布

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!

3条回答
淡お忘
2楼-- · 2020-01-31 07:48

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();
查看更多
We Are One
3楼-- · 2020-01-31 07:50

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.

查看更多
混吃等死
4楼-- · 2020-01-31 08:03

In the adb shell you can use command as

adb shell screencap -p /sdcard/screen.png
adb pull /sdcard/screen.png
adb shell rm /sdcard/screen.png

I found this code on this guide on How to take a screenshot on Android.You can refer it for more details.Hope this helps.

查看更多
登录 后发表回答