Android低版本需要实现屏幕录制,据我目前了解到的,都是需要获取Root权限才行。 本文介绍的屏幕录制是居于Android5.0及之后Android API实现的屏幕录制,以及录制后编码成h264格式保存到文件。屏幕采集主要使用类MediaProjection 和 MediaProjectionManager。数据编码使用类mediacodec 一、录屏步骤 1、获取MediaProjectionManager(getSystemService(MEDIA_PROJECTION_SERVICE)) 2、录屏申请(createScreenCaptureIntent) Intent intent = mediaProjectionManager.createScreenCaptureIntent(); startActivityForResult(intent, REQUEST_CODE); 3、申请同意后,获取到mediaProjection(ProjectionManager.getMediaProjection) 4、创建VirtualDisplay(createVirtualDisplay),输入参数surface,宽高、分辨率等 创建VirtualDisplay需要传入surface,所以创建VirtualDisplay前,先初始化并配置编码器mediacodec,从mediacodec获取到surface,参考Encoder 5、如果想实现截一张图保存下来,创建VirtualDisplay时也是传入surface(一般是通过ImageReader获取到surface)
通过步骤5实现屏幕保存bitmap到文件(dem