# 配置目标应用名单（仅对企业应用开放）

#### 场景介绍

该功能仅对企业应用开放。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
        })
      }
    }
    ```