Android反射系统截图Api

通过Java反射系统的方式去截图

    • Android截图Api
    • 踩坑点
    • 附上详细代码
    • 执行操作

Android截图Api

Android5.0以下:android.view.Surface
Android5.0以上:android.view.SurfaceControl

踩坑点

在Android 10以上系统更新调用方法,所以需要区分,如下:

if (Build.VERSION.SDK_INT <= 28) {
 	method = Class.forName(surfaceClassName).getDeclaredMethod("screenshot", new Class[]{Integer.TYPE, Integer.TYPE});
	bitmap = (Bitmap) method.invoke(null, new Object[]{sizes[0], sizes[1]});
} else {//android Q 以上支持
	method = Class.forName(surfaceClassName).getDeclaredMethod("screenshot", new Class[]{Rect.class, int.class, int.class, int.class});
	Rect rect = new Rect();
	rect.left = 0;
	rect.top = 0;
	b

你可能感兴趣的:(Java,android,java,反射,bitmap)