配置目标应用名单(仅对企业应用开放)
场景介绍
该功能仅对企业应用开放。6.0.1(21)版本开始,支持宿主应用配置目标应用名单列表(最多支持50个应用)。配置成功后,仅名单内的目标可出现在系统分享面板的分享推荐区和分享方式区。
申请权限
当前能力受限开放,需要申请受限开放权限ohos.permission.SET_SYSTEMSHARE_APPLAUNCHTRUSTLIST。
该权限用于限制应用分享范围,仅支持企业应用限制内部数据分享到企业集团信任的应用。
申请权限时,需要在reasonPrompt里面填写企业应用的信息和管控场景。如:用于XXX集团应用管控内部资料仅限于企业内部分享。
申请方式请参考:申请使用受限权限。
示例代码
-
应用必须在module.json5配置文件的requestPermissions标签中声明权限。参考:声明权限。
{"module": {// ..."requestPermissions": [{"name": "ohos.permission.SET_SYSTEMSHARE_APPLAUNCHTRUSTLIST","reason": '$string:permission_reason_set_system_share_app_launch_trust_list'},]}} -
启动分享面板时,通过配置appLaunchTrustInfo参数,指定目标应用的范围。
import { common } from '@kit.AbilityKit';import { systemShare } from '@kit.ShareKit';import { uniformTypeDescriptor as utd } from '@kit.ArkData';@Componentexport 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();// 构建ShareControllerlet 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})}}