HarmonyOS 鸿蒙Next设置隐私模式后,使用snapshot为何仍会获取桌面截屏而非本页面

发布于 1周前 作者 wuwangju 来自 鸿蒙OS

HarmonyOS 鸿蒙Next设置隐私模式后,使用snapshot为何仍会获取桌面截屏而非本页面

详细:获取该窗口实例,通过实例点击设置隐私模式

cke_643.png

当我使用cke_6018.png下拉工具栏截屏时候,是无法截屏的。

cke_12155.png

当我点击按钮获取截屏的时候

cke_20842.png

会给我显示一张桌面的截屏。这是为什么?

源代码:

@Entry
@Component
struct PrivacyMode_Screenshot {
@State isoo: boolean = false
@State WindowObj:window.Window|undefined = undefined
async aboutToAppear() {
this.WindowObj = await window.getLastWindow(getContext(this))
this.WindowObj.on(“screenshot”,()=>{
promptAction.showToast({
message:“您截图了”
})
})
}
@State img:image.PixelMap | undefined=undefined;
build() {
Column() {
Button(“点击设置隐私模式”)
.onClick(()=>{
this.isoo = !this.isoo
this.WindowObj?.setWindowPrivacyMode(this.isoo,()=>{
if (this.isoo) {
promptAction.showToast({
message:“设置隐私模式”
})
}else {
promptAction.showToast({
message:“取消隐私模式”
})
}
})
})

Button(“获取截屏”)
.onClick(async ()=>{
this.img=await this.WindowObj!.snapshot()
})

Image(this.img)
.width(300)
}
.backgroundColor(Color.Orange)
.height(‘100%’)
.width(‘100%’)
}
}

3 回复
楼主您用的是真机还是模拟器?系统设置里的软件版本是多少的呢?我这边用真机试过了,隐私模式下,点击获取截屏,返回的是空白的图片

我使用的是模拟机测试的,软件版本是最新的3.910

作为IT专家,对于HarmonyOS 鸿蒙Next设置隐私模式后snapshot仍会获取桌面截屏而非本页面的问题,以下提供可能的原因及解释:

在HarmonyOS中,设置隐私模式通常是为了防止应用界面被截屏或录屏,以保护用户隐私。然而,snapshot功能可能并不直接受隐私模式控制,它更多地是依赖于系统级的截屏机制。

当隐私模式被激活时,系统通常会阻止对当前应用界面的截屏操作。但如果snapshot功能是通过系统级的API或其他方式实现的,并且该方式能够绕过隐私模式的限制,那么它仍然可能获取到桌面或其他非隐私模式下的屏幕内容。

此外,还需要确认snapshot功能的具体实现方式,以及它是否遵循了HarmonyOS的隐私保护原则。如果snapshot功能确实存在绕过隐私模式的问题,那么这可能是一个系统漏洞或设计缺陷。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部