1# 截屏(仅对系统应用开放) 2 3## 介绍 4 5本示例展示全屏截图和屏幕局部截图。 6 7本示例通过[screenshot](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-screenshot.md)模块实现屏幕截图 ,通过[window](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md#setwindowprivacymode9)模块实现隐私窗口切换,通过[display](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-display.md#displayhasprivatewindow9)模块查询当前隐私窗口。 8 9## 效果预览 10 11|全屏截图|局部截图选择区域|局部截图| 12|----------|----------|----------| 13|||| 14 15使用说明: 16 171. 点击右上角图标打开弹窗,选择截屏,展示全屏截图;选择局部截屏,选择截屏区域,点击右下角完成,展示局部截屏; 182. 点击滑块切换窗口隐私模式,隐私模式下截屏会弹出提示,拒绝截屏。 19 20### 工程目录 21``` 22entry/src/main/ets/ 23|---Application 24| |---MyAbilityStage.ets 25|---MainAbility 26| |---MainAbility.ets 27|---pages 28| |---Index.ets // 首页 29``` 30### 具体实现 31 32* 本示例通过screenshot接口实现屏幕截图 ,通过window接口实现隐私窗口切换,通过display接口查询当前隐私窗口。 33* 源码链接:[Screenshot.ets](Feature/src/main/ets/components/utils/Screenshot.ets),[WindowPrivacy.ets](Feature/src/main/ets/components/utils/WindowPrivacy.ets) 34* 接口参考:[@ohos.screenshot](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-screenshot.md),[@ohos.window](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-window.md#setwindowprivacymode9),[@ohos.display](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-display.md#displayhasprivatewindow9) 35 36## 相关权限 37 38获取屏幕截图权限:[ohos.permission.CAPTURE_SCREEN](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissioncapture_screen) 39 40### 依赖 41 42不涉及。 43 44## 约束与限制 45 461. 本示例仅支持标准系统上运行,支持设备:RK3568; 472. 本示例已适配 API version 9 版本 SDK,本示例涉及使用系统接口:@ohos.screenshot,需要手动替换 Full SDK 48 才能编译通过,具体操作可以参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/full-sdk-switch-guide.md) 49 ; 503. 本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400, built on April 7, 2023)及以上版本才可编译运行; 514. 本示例所配置的权限 ohos.permission.CAPTURE_SCREEN 为 system_core 级别( 52 相关权限级别可通过[权限定义列表](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md)查看),需要手动配置对应级别的权限签名(具体操作可查看[自动化签名方案](https://docs.openharmony.cn/pages/v3.2/zh-cn/application-dev/security/hapsigntool-overview.md/)); 535. 本示例需要设置为系统应用才可使用接口 hasPrivacyWindow 判断隐私窗口,签名文件中修改 app-feature 为 hos_system_app。 54 55### 下载 56 57如需单独下载本工程,执行如下命令: 58``` 59git init 60git config core.sparsecheckout true 61echo code/SystemFeature/Media/Screenshot/ > .git/info/sparse-checkout 62git remote add origin https://gitee.com/openharmony/applications_app_samples.git 63git pull origin master 64 65``` 66