跳到主要内容

配置目标应用名单(仅对企业应用开放)

场景介绍

该功能仅对企业应用开放。6.0.1(21)版本开始,支持宿主应用配置目标应用名单列表(最多支持50个应用)。配置成功后,仅名单内的目标可出现在系统分享面板的分享推荐区和分享方式区。

申请权限

当前能力受限开放,需要申请受限开放权限ohos.permission.SET_SYSTEMSHARE_APPLAUNCHTRUSTLIST。

该权限用于限制应用分享范围,仅支持企业应用限制内部数据分享到企业集团信任的应用。

申请权限时,需要在reasonPrompt里面填写企业应用的信息和管控场景。如:用于XXX集团应用管控内部资料仅限于企业内部分享。

申请方式请参考:申请使用受限权限

示例代码

  1. 应用必须在module.json5配置文件的requestPermissions标签中声明权限。参考:声明权限

    {
    "module": {
    // ...
    "requestPermissions": [
    {
    "name": "ohos.permission.SET_SYSTEMSHARE_APPLAUNCHTRUSTLIST",
    "reason": '$string:permission_reason_set_system_share_app_launch_trust_list'
    },
    ]
    }
    }
  2. 启动分享面板时,通过配置appLaunchTrustInfo参数,指定目标应用的范围。

    import { common } from '@kit.AbilityKit';
    import { systemShare } from '@kit.ShareKit';
    import { uniformTypeDescriptor as utd } from '@kit.ArkData';

    @Component
    export struct ShareAppTrustInfo {
    build() {
    Button('share').onClick(() => {
    this.share();
    })
    }

    private share() {
    // 构造ShareData,需配置一条有效数据信息
    let data: systemShare.SharedData = new systemShare.SharedData({
    utd: utd.UniformDataType.PLAIN_TEXT,
    content: 'Hello HarmonyOS'
    });
    let uiContext: UIContext = this.getUIContext();
    // 构建ShareController
    let controller: systemShare.ShareController = new systemShare.ShareController(data);
    let context: common.UIAbilityContext = uiContext.getHostContext() as common.UIAbilityContext;
    // 进行分享面板显示
    controller.show(context, {
    previewMode: systemShare.SharePreviewMode.DEFAULT,
    selectionMode: systemShare.SelectionMode.SINGLE,
    appLaunchTrustInfo: ['5765880207853060000', '1171817433862770000'], // 此值仅为示例. 目标应用 appidentifier
    })
    }
    }