• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3633

Feature/06-May-2025-282250

entry/06-May-2025-1,1181,019

hvigor/06-May-2025-2422

screenshots/device/06-May-2025-

.gitignoreD06-May-2025118 88

README_zh.mdD06-May-20253.7 KiB6647

build-profile.json5D06-May-20251.1 KiB4645

hvigorfile.jsD06-May-2025168 21

hvigorwD06-May-20252 KiB6228

hvigorw.batD06-May-20252 KiB7356

oh-package.json5D06-May-2025816 2725

ohosTest.mdD06-May-2025940 1210

README_zh.md

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|![](screenshots/device/full-screenshot.png)|![](screenshots/device/part-select.png)|![](screenshots/device/part-screenshot.png)|
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)
49503. 本示例需要使用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