本文介紹了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()防止敏感/版權信息被錄屏;
詳細方法和示例代碼如下: