当前能力受限开放,需要申请受限开放权限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';
@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
})
}
}