本文介绍了Android 4.4 KitKat系统新增加的录屏功能以及录屏方法,和限制因素。如果App由于版权方面的原因,不想被记录屏幕录像的话,APP只需要在相应的SurfaceView请求“SurfaceView.setSecure()” 即可避免自己被录下来。在文末给出了实例代码。
关于Android困扰开发者已久的截屏录像问题,我们有一个好消息,一个坏消息要和大家分享。好消息是,随着Nexus 5同步发布的Android 4.4 KitKat系统,终于可以支持屏幕录制(截屏保存成mp4)了!当然,这里说的屏幕录制,并不是开放的API,而是adb里针对Android 4.4系统,新增了screenrecord工具,开发者可以通过命令行,或是IDE中的Screen Record功能录制Android智能机运行情况的视频了。这将大大方便项目末尾编辑发布APP测评/使用指南的孩子们:)
坏消息是,新发布的android api19 SDK 中的Emulator不支持屏幕录制,换句话说,没有Nexus5的同学们,试图通过建立一个模拟器来录屏的愿望破灭了…Google搞Android SDK的Team在Stackoverflow上被鄙视惨了。
于是他们决定: 将Screenrecord工具从Emulator System Image中移除,防止造成混淆。好消极的做法-_-! 他们应该做的难道不是将screenrecord的功能在Emulator上支持起来么。
结论:
1. Android 4.4 KitKat 支持通过adb shell screenrecord 命令来录屏;
2. 模拟器上不能通过该手段录屏;
3. SurfaceView可以通过调用setSecure()防止敏感/版权信息被录屏;
详细方法和示例代码如下: