Android屏幕截图保存至SD卡的方法

在Android设备上,可以通过编程实现截取当前屏幕的图片并将其保存到SD卡。以下是具体实现步骤:

  1. 使用Android的MediaProjection API来捕获当前屏幕内容。
  2. 通过ImageReader获取屏幕截图数据。
  3. 将截图数据写入到文件,并保存到设备的SD卡中。

具体代码示例如下:

// 获取MediaProjectionManager
MediaProjectionManager projectionManager = (MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE);
Intent intent = projectionManager.createScreenCaptureIntent();
startActivityForResult(intent, REQUEST_CODE);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_CODE) {
        MediaProjection mediaProjection = projectionManager.getMediaProjection(resultCode, data);
        // 配置ImageReader
        ImageReader imageReader = ImageReader.newInstance(width, height, PixelFormat.RGBA_8888, 2);
        mediaProjection.createVirtualDisplay(
            "ScreenCapture",
            width,
            height,
            getResources().getDisplayMetrics().densityDpi,
            DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,
            imageReader.getSurface(),
            null,
            null
        );
        // 保存图像到SD卡
        Image image = imageReader.acquireLatestImage();
        // 将图像数据保存为文件
        saveImageToSDCard(image);
    }
}

private void saveImageToSDCard(Image image) {
    // 实现保存逻辑
}

通过以上步骤,可以在Android设备上实现截取屏幕并保存到SD卡的功能。

zip 文件大小:1.4MB