更新记录

1.0.3(2021-09-23)

功能(Features)

Bug 修复 (Bug Fixes)

  1. 修复华为手机重复触发截屏事件
  2. 修复与 uni.chooseImage 冲突,导致无法使用的问题

1.0.2(2021-08-17)

功能(Features)

Bug 修复 (Bug Fixes)

  1. 【重要】ios 修复截屏之后会造成卡顿的问题,在 ios 不返回截屏图片路径
  2. 修复安卓截屏插件重复触发截屏事件

1.0.1(2021-08-06)

功能(Features)

  1. 更新插件权限说明

Bug 修复 (Bug Fixes)

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.0 armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 适用版本区间:9 - 14

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


📌 Screenshot 截屏监听 - Super-Module-ScreenshotListen

⚠️ 警告

插件市场的文档解析有问题!方法名解析有丢失,例如 on start 放在一起就不见了

查看在线文档:https://doc.yoouu.cn/front-end/uni-app/nativeplugins/screenshot-listen

简介

监听系统截屏事件,返回截图图片路径。

更多插件:https://doc.yoouu.cn/front-end/uni-app/nativeplugins/

平台兼容性

Android iOS
4.4 - 11.0 9 - 14

使用示例

const superModuleScreenshotListen = uni.requireNativePlugin('Super-Module-ScreenshotListen')

// 开始监听屏幕截图事件
onStartListenScreenshot() {
  safeRunning('onStartListenScreenshot', () => {
    const res = superModuleScreenshotListen.onStartListenScreenshot((result) => {
      toast('屏幕截图事件', result)
    })
    toast('onStartListenScreenshot', res)
  })
}

// 停止监听屏幕截图事件
onStopListenScreenshot() {
  safeRunning('onStopListenScreenshot', () => {
    const res = superModuleScreenshotListen.onStopListenScreenshot()
    toast('onStopListenScreenshot', res)
  })
}

/**
 * Toast 提示
 */
const toast = (title, val) => {
  try {
    if (typeof val === 'object') {
      val = JSON.stringify(val)
    } else {
      val = String(val)
    }
  } catch (e) {
    val = e.message
  } finally {
    uni.showToast({
      icon: 'none',
      title: `${title}: ${val}`,
      duration: 3000,
    })
  }
}

/**
 * 安全运行
 */
const safeRunning = (name, fun) => {
  try {
    fun()
  } catch (e) {
    toast(name, e.message)
  }
}

模块方法

onStartListenScreenshot([callback]) : result

启动截屏监听。

  • callback <Function> 结果回调

    回调结果

    • success <Boolean> 操作是否成功

    • code <Number> 状态码

    • 200 屏幕截图成功

    • 500 查询出错(仅安卓)

    • msg <String> 请求信息

    • data <Object> 请求成功返回数据

    • imgPath <String> | <null> 图片绝对路径,仅安卓!

      在 Android 11 之后可能无法查询出来!目前在 miui 12.5 Android 11 是可以查询出来的。

    • err <String> 错误信息(仅安卓)

  • result <Object> 执行返回信息

    • success <Boolean> 操作是否成功
    • code <Number> 状态码
    • 200 操作成功
    • 400 禁止重复添加截屏事件
    • msg <String> 请求信息

onStopListenScreenshot() : result

关闭截屏监听。

  • result <Object>执行返回信息
    • success <Boolean> 操作是否成功
    • code <Number> 状态码
    • 200 停止监听截屏成功
    • 400 未监听截屏事件
    • msg <String> 请求信息

全局事件

onScreenshot

截屏之后触发。

  • success <Boolean> 操作是否成功

  • code <Number> 状态码

    • 200 屏幕截图成功
    • 500 查询出错(仅安卓)
  • msg <String> 请求信息

  • data <Object> 请求成功返回数据

    • imgPath <String> | <null> 图片绝对路径,仅安卓!

    在 Android 11 之后可能无法查询出来!目前在 miui 12.5 Android 11 是可以查询出来的。

  • err <String> 错误信息(仅安卓)

权限列表

ios

Android

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/>

演示截图

IOS Android
screenshot-listen-ios-screenshot screenshot-listen-android-screenshot

更新日志

1.0.3

功能(Features)

Bug 修复 (Bug Fixes)

  1. 修复华为手机重复触发截屏事件
  2. 修复与 uni.chooseImage 冲突,导致无法使用的问题

1.0.2

功能(Features)

Bug 修复 (Bug Fixes)

  1. 【重要】ios 修复截屏之后会造成卡顿的问题,在 ios 不返回截屏图片路径
  2. 修复安卓截屏插件重复触发截屏事件

1.0.1

功能(Features)

  1. 更新插件权限说明

Bug 修复 (Bug Fixes)

1.0.0

功能(Features)

  1. 完成开发。

Bug 修复 (Bug Fixes)

问题反馈

虽然插件已经经过开发者测试和使用,但不排除某些场景下产生问题的可能性,如遇到 Bug 可以

  • 在评论区留言,收到通知邮件我会第一次时间查看
  • 或添加 微信: sunseekerx 进行反馈
  • 或添加 QQ: 1647800606 进行反馈

更多插件

如有插件定制需求,也可以联系我哦。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

Android <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/> Ios 无

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问