コード例 #1
0
        public async Task <bool> ShowShareUIAsync(ShareUIOptions options, DataPackage dataPackage)
        {
            if (!PrivilegeHelper.IsDeclared(LaunchAppPrivilege))
            {
                if (this.Log().IsEnabled(LogLevel.Error))
                {
                    this.Log().LogError($"The Launch app privilege must be declared ({LaunchAppPrivilege})");
                }
                return(false);
            }

            var appControl = new AppControl
            {
                Operation = AppControlOperations.ShareText,
            };

            var dataPackageView = dataPackage.GetView();

            if (dataPackageView.Contains(StandardDataFormats.Text))
            {
                var text = await dataPackageView.GetTextAsync();

                appControl.ExtraData.Add(AppControlData.Text, text);
            }

            var uri = await DataTransferManager.GetSharedUriAsync(dataPackageView);

            if (uri != null)
            {
                appControl.ExtraData.Add(AppControlData.Url, uri.OriginalString);
            }

            AppControl.SendLaunchRequest(appControl);

            return(true);
        }