HarmonyOS鸿蒙Next中UIExtensionContentSession setWindowPrivacyMode怎么使用

HarmonyOS鸿蒙Next中UIExtensionContentSession setWindowPrivacyMode怎么使用 如题,新增的这个接口怎么使用,看文档描述:UIExtensionAbility是特定场景下带界面扩展能力的基类,继承自ExtensionAbility,新增带界面扩展能力相关的属性和方法。不支持开发者直接继承该基类。不知道如何使用这个方法

3 回复

需配置"ohos.permission.PRIVACY_WINDOW"权限

可以直接使用该方法,demo如下:

import { BusinessError } from '@ohos.base';
import window from '@ohos.window';

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
        Button() {
          Text("开启隐藏")
        }
        .width(80)
        .height(60)
        .onClick(() => {
          let isPrivacyMode: boolean = true;
          try {
            window.getLastWindow(getContext(), (err: BusinessError, data) => {
              const errCode = err.code;
              if (errCode) {
                return;
              }
              let promise = data.setWindowPrivacyMode(isPrivacyMode);
              promise.then(() => {
                this.message = "隐私模式";
                console.info('已成功将窗口设置为隐私模式.');
              }).catch((err: BusinessError) => {
                console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err));
              });
            })
          } catch (exception) {
            console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception));
          }
        })
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
        Button() {
          Text("关闭隐藏")
        }
        .width(80)
        .height(60)
        .onClick(() => {
          let isPrivacyMode: boolean = false;
          try {
            window.getLastWindow(getContext(), (err: BusinessError, data) => {
              const errCode = err.code;
              if (errCode) {
                return;
              }
              let promise = data.setWindowPrivacyMode(isPrivacyMode);
              promise.then(() => {
                this.message = "已关闭";
                console.info('已成功关闭将窗口设置为隐私模式.');
              }).catch((err: BusinessError) => {
                console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err));
              });
            })
          } catch (exception) {
            console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception));
          }
        })
      }
      .width('100%')
    }
    .height('100%')
  }
}

更多关于HarmonyOS鸿蒙Next中UIExtensionContentSession setWindowPrivacyMode怎么使用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,UIExtensionContentSession 类的 setWindowPrivacyMode 方法用于设置窗口的隐私模式。该方法接受一个布尔值参数,true 表示启用隐私模式,false 表示禁用隐私模式。

使用示例:

let session: UIExtensionContentSession = ...; // 获取UIExtensionContentSession实例
session.setWindowPrivacyMode(true); // 启用隐私模式

启用隐私模式后,系统会采取相应的措施保护窗口内容的隐私,例如在某些场景下隐藏窗口内容或限制截图功能。具体行为取决于系统的实现。

在HarmonyOS鸿蒙Next中,UIExtensionContentSessionsetWindowPrivacyMode方法用于设置窗口的隐私模式。使用方法如下:

UIExtensionContentSession session = ...; // 获取UIExtensionContentSession实例
session.setWindowPrivacyMode(true); // 启用隐私模式

该方法接受一个布尔值参数,true表示启用隐私模式,false表示禁用。启用隐私模式后,窗口内容可能会被模糊或隐藏,以保护用户隐私。

回到顶部