### uni.onUserCaptureScreen(CALLBACK)

监听用户主动截屏事件，用户使用系统截屏按键截屏时触发此事件。
 
**平台差异说明**

|App|H5|微信小程序|支付宝小程序|百度小程序|字节跳动小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|√|√|√|√|

> 在 App 平台本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html)，需下载插件：[uni-usercapturescreen](https://ext.dcloud.net.cn/plugin?name=uni-usercapturescreen)

**CALLBACK返回参数：**

无

**代码示例**

```javascript
uni.onUserCaptureScreen(function() {
    console.log('用户截屏了')
});
```

**注意**

Android的截屏监听原理是监听相册中截屏目录的文件新增，需赋予App本地文件读取权限。

### uni.offUserCaptureScreen(function callback)

用户主动截屏事件。取消事件监听。


**平台差异说明**

|App|H5|微信小程序|支付宝小程序|百度小程序|字节跳动小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|√|√|√|√|x|√|√|

> 在 App 平台本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html)，需下载插件：[uni-usercapturescreen](https://ext.dcloud.net.cn/plugin?name=uni-usercapturescreen)

**参数**

|属性	|	类型|说明|
|--	|--	|--	|
|回调函数|	Function|用户主动截屏事件的回调函数|


### uni.setUserCaptureScreen(OBJECT)

开启/关闭防截屏


**平台差异说明**

|App|H5|微信小程序|支付宝小程序|百度小程序|字节跳动小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|x|x|x|x|x|x|x|x|

> 在 App 平台本 API 是 [uni ext api](https://uniapp.dcloud.net.cn/api/extapi.html)，需下载插件：[uni-usercapturescreen](https://ext.dcloud.net.cn/plugin?name=uni-usercapturescreen)
> iOS平台需要HBuilder X 3.7.3+版本

**OBJECT 参数说明**

|参数名|类型|必填|说明|
|:-|:-|:-|:-|
|enable|Boolean|是|是否允许用户截屏，ture: 允许用户截屏, false: 不允许用户截屏，防止用户截屏到应用页面内容|
|success|Function|否|接口调用成功的回调|
|fail|Function|否|接口调用失败的回调函数|
|complete|Function|否|接口调用结束的回调函数（调用成功、失败都会执行）|

**返回参数说明**

|参数|类型|说明|
|:-|:-|:-|
|errCode|Number|调用结果|
|errMsg|String|调用结果描述|
|errSubject|String|调用模块|

**注意**

+ iOS平台该API在iOS 13及以上系统支持。另外，因为系统原因，在iOS 15.1系统上会触发错误，因此该API在iOS 15.1系统上暂不可用。
+ Android平台暂不支持图片/视频选择、图片/视频预览、一键登录等uni-app内部原生页面以及App原生插件内部原生页面。


**代码示例**

```javascript
uni.setUserCaptureScreen({
    enable: false,
    success: (res) => {
        console.log("setUserCaptureScreen success: " + JSON.stringify(res));
    },
    fail: (res) => {
        console.log("setUserCaptureScreen fail: " + JSON.stringify(res));
    },
    complete: (res) => {
        console.log("setUserCaptureScreen complete: " + JSON.stringify(res));
    }
});
```

