- 创建保存截图信息的surface
mImageReader = ImageReader.newInstance(UIUtils.getScreenWidth(this),
UIUtils.getScreenHeight(this),
PixelFormat.RGBA_8888,
1);
- 打开系统截屏权限
projectionManager = (MediaProjectionManager) getSystemService(MEDIA_PROJECTION_SERVICE);
Intent captureIntent = projectionManager.createScreenCaptureIntent();
startActivityForResult(captureIntent, REQUEST_CODE);
- 得到返回数据
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
mediaProjection = projectionManager.getMediaProjection(resultCode, data);
mVirtualDisplay = createVirtualDisplay();
new Thread(new Runnable() {
@Override
public void run() { <