/// <summary> /// Initializes a new instance of the <see cref="ShareEventArgs"/> class. /// </summary> /// <param name="previousExecutionState">The <see cref="ApplicationExecutionState">execution state</see> of the application before sharing began.</param> /// <param name="shareOperation">The representation of the <see cref="ShareOperation">share operation</see>.</param> public ShareEventArgs( ApplicationExecutionState previousExecutionState, ShareOperation shareOperation ) { Arg.NotNull( shareOperation, nameof( shareOperation ) ); PreviousExecutionState = previousExecutionState; adapted = shareOperation; dataPackageView = new Lazy<IDataPackageView>( () => new DataPackageViewAdapter( adapted.Data ) ); }
protected override async void OnShareTargetActivated(ShareTargetActivatedEventArgs args) { ShareOperation shareOperation = args.ShareOperation; if (shareOperation.Data.Contains(StandardDataFormats.StorageItems)) { var sis = await shareOperation.Data.GetStorageItemsAsync(); shareOperation.ReportStarted(); } shareOperation.ReportCompleted(); }
/// <summary> /// Wird aufgerufen, wenn eine andere Anwendung Inhalte durch diese Anwendung freigeben möchte. /// </summary> /// <param name="e">Aktivierungsdaten zum Koordinieren des Prozesses mit Windows.</param> public async void Activate(ShareTargetActivatedEventArgs e) { this.shareOperation = e.ShareOperation; var shareProperties = this.shareOperation.Data.Properties; this.DefaultViewModel["Title"] = shareProperties.Title; this.DefaultViewModel["Description"] = shareProperties.Description; this.DefaultViewModel["Sharing"] = false; this.DefaultViewModel["Url"] = await shareOperation.Data.GetWebLinkAsync(); Window.Current.Content = this; Window.Current.Activate(); }
protected override async void OnShareTargetActivated(ShareTargetActivatedEventArgs args) { Initialize(false); ShareOperation shareOperation = args.ShareOperation; if (shareOperation.Data.Contains(StandardDataFormats.WebLink)) { Uri uri = await shareOperation.Data.GetWebLinkAsync(); await CoreApplication.Views.First().Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { AppLogic.Analyze(uri); }); } }
/// <summary> /// Вызывается при обычном запуске приложения пользователем. Будут использоваться другие точки входа, /// например, если приложение запускается для открытия конкретного файла. /// </summary> /// <param name="e">Сведения о запросе и обработке запуска.</param> /// protected override void OnShareTargetActivated(ShareTargetActivatedEventArgs args) { if (args != null) { shareOperation = args.ShareOperation; if (shareOperation.Data.Contains(StandardDataFormats.StorageItems)) { var rootFrame = new Frame(); rootFrame.Navigate(typeof(MainPage), args.ShareOperation); Window.Current.Content = rootFrame; Window.Current.Activate(); } } }
public async Task SetupShareDataAsync(ShareOperation share) { // store the share operation - we need to do this to hold a // reference otherwise the sharing subsystem will assume // that we've finished... this.ShareOperation = share; // get the properties out... var data = share.Data; var props = data.Properties; this.Title = props.Title; this.Description = props.Description; // now the text... if (data.Contains(StandardDataFormats.Text)) { this.SharedText = await data.GetTextAsync(); } // do we have an image? if so, load it... if (data.Contains(StandardDataFormats.StorageItems) || data.Contains(StandardDataFormats.Bitmap)) { IRandomAccessStreamReference reference = null; // load the first one... if (data.Contains(StandardDataFormats.StorageItems)) { var file = (IStorageFile)(await data.GetStorageItemsAsync()).FirstOrDefault(); reference = RandomAccessStreamReference.CreateFromFile(file); } else { reference = await data.GetBitmapAsync(); } // load it into an image... var image = new BitmapImage(); using (var stream = await reference.OpenReadAsync()) image.SetSource(stream); // set... this.SharedImage = image; this.ShowImage = true; } // tell the OS that we have the data... share.ReportDataRetrieved(); }
/// <summary> /// Invoked when another application wants to share content through this application. /// </summary> /// <param name="e">Activation data used to coordinate the process with Windows.</param> public void Activate(ShareTargetActivatedEventArgs e) { _shareOperation = e.ShareOperation; InitializeViewModel(); Window.Current.Content = this; Window.Current.Activate(); // Load Image Properties asynchronousely now that the panel is ready ShowSharedImageProperties(); // Load any shared data asynchronousely now that the panel is ready ShowSharedContent(); }
protected override async void OnShareTargetActivated(ShareTargetActivatedEventArgs args) { ShareOperation shareOperation = args.ShareOperation; new MessageDialog(shareOperation.Data.ToString(), "消息提示").ShowAsync(); shareOperation.ReportCompleted(); /*if (shareOperation.Data.Contains(StandardDataFormats.Text)) * { * string text = await shareOperation.Data.GetTextAsync(); * new MessageDialog(text, "消息提示").ShowAsync(); * // To output the text from this example, you need a TextBlock control * // with a name of "sharedContent". * //sharedContent.Text = "Text: " + text; * }*/ }
protected async override void OnNavigatedTo(NavigationEventArgs e) { dispatcher = MainPage.dispatcher ?? CoreWindow.GetForCurrentThread().Dispatcher; currentDispatcher = CoreWindow.GetForCurrentThread().Dispatcher; shareOperation = e.Parameter as ShareOperation; // Get the shared files items.Clear(); foreach (StorageFile file in await shareOperation.Data.GetStorageItemsAsync()) { items.Add(file); } // Update the categories list await dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() => await FileManager.CreateCategoriesListAsync()); }
// Code to execute when the application is launching (eg, from Start) // This code will not execute when the application is reactivated private void Application_Launching(object sender, LaunchingEventArgs e) { // Initialize Telerik Diagnostics with the actual app version information ApplicationUsageHelper.Init(AppService.GetAppVersion()); AppInformation.HasPinLockIntroduced = false; NetworkService.CheckChangesIP(); #if WINDOWS_PHONE_81 // Code to intercept files that are send to MEGA as share target var shareEventArgs = e as ShareLaunchingEventArgs; if (shareEventArgs != null) { this.ShareOperation = shareEventArgs.ShareTargetActivatedEventArgs.ShareOperation; } #endif }
private void OnClipboardContentChanged(object sender, object e) { if (_share != null) { try { _share.ReportCompleted(); _share = null; } catch (Exception ex) { Debug.WriteLine(ex); _share.ReportError(ex.ToString()); } } }
public void Activate(ShareTargetActivatedEventArgs args) { DefaultViewModel["Sharing"] = false; _ShareOperation = args.ShareOperation; DataPackagePropertySetView shareProperties = _ShareOperation.Data.Properties; DefaultViewModel["Link"] = new Link { Name = shareProperties.Title, Uri = new Uri(shareProperties.Description) }; Window.Current.Content = this; Window.Current.Activate(); }
private static async Task <T> GetOperationDataAsync <T>(this ShareOperation shareOperation, string dataFormat) where T : class { try { if (dataFormat == StandardDataFormats.ApplicationLink) { return(await shareOperation.Data.GetApplicationLinkAsync() as T); } if (dataFormat == StandardDataFormats.Bitmap) { return(await shareOperation.Data.GetBitmapAsync() as T); } if (dataFormat == StandardDataFormats.Html) { return(await shareOperation.Data.GetHtmlFormatAsync() as T); } if (dataFormat == StandardDataFormats.Rtf) { return(await shareOperation.Data.GetRtfAsync() as T); } if (dataFormat == StandardDataFormats.StorageItems) { return(await shareOperation.Data.GetStorageItemsAsync() as T); } if (dataFormat == StandardDataFormats.Text) { return(await shareOperation.Data.GetTextAsync() as T); } if (dataFormat == StandardDataFormats.WebLink) { return(await shareOperation.Data.GetWebLinkAsync() as T); } } catch (Exception) { return(default(T)); } return(default(T)); }
public async Task ActivateAsync(ShareTargetActivatedEventArgs args) { // <Snippetcs_HandleSharedText> ShareOperation shareOperation = args.ShareOperation; if (shareOperation.Data.Contains(StandardDataFormats.Text)) { string text = await shareOperation.Data.GetTextAsync(); // To output the text from this example, you need a TextBlock control // with a name of "sharedContent". sharedContent.Text = "Text: " + text; } // </Snippetcs_HandleSharedText> if (shareOperation.Data.Contains(StandardDataFormats.StorageItems)) { // <Snippetcs_ReportStarted> shareOperation.ReportStarted(); // </Snippetcs_ReportStarted> IReadOnlyList <IStorageItem> storageItems = null; storageItems = await shareOperation.Data.GetStorageItemsAsync(); string fileList = String.Empty; for (int index = 0; index < storageItems.Count; index++) { fileList += storageItems[index].Name; if (index < storageItems.Count - 1) { fileList += ", "; } } // To output the text from this example, you need a TextBlock control // with a name of "sharedContent". sharedContent.Text += "StorageItems: " + fileList + Environment.NewLine; shareOperation.ReportCompleted(); } Window.Current.Content = this; Window.Current.Activate(); }
public async Task Init(ShareOperation p_shareOperation) { _shareOperation = p_shareOperation; var data = _shareOperation.Data; if (data.Contains(StandardDataFormats.StorageItems)) { var files = await data.GetStorageItemsAsync(); if (files != null && files.Count > 0 && files[0] is StorageFile sf) { _sf = sf; FilePath = _sf.Path; _length = (await _sf.GetBasicPropertiesAsync()).Size; if (_image.Contains(_sf.FileType)) { DataType = ShareDataType.Image; } else if (_video.Contains(_sf.FileType)) { DataType = ShareDataType.Video; } else if (_audio.Contains(_sf.FileType)) { DataType = ShareDataType.Audio; } else { DataType = ShareDataType.File; } } } else if (_shareOperation.Data.Contains(StandardDataFormats.WebLink)) { DataType = ShareDataType.Text; Content = (await data.GetWebLinkAsync()).AbsoluteUri; } else if (_shareOperation.Data.Contains(StandardDataFormats.Text)) { DataType = ShareDataType.Text; Content = await data.GetTextAsync(); } }
protected override async void OnShareTargetActivated(ShareTargetActivatedEventArgs args) { ShareOperation shareOperation = args.ShareOperation; if (shareOperation.Data.Contains(StandardDataFormats.WebLink)) { Uri uri = await shareOperation.Data.GetWebLinkAsync(); if (uri != null) { ILogger logger = ServiceLocator.Current.GetService <ILogger>(); logger.Information("Received URI: {uri}", uri); args.ShareOperation.ReportCompleted(); return; } } args.ShareOperation.ReportError("Failed to share, couldn't get a URI"); }
protected async override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); operation = (ShareOperation)e.Parameter; if (operation.Data.Contains(StandardDataFormats.StorageItems)) { var items = await operation.Data.GetStorageItemsAsync(); file = items[0] as StorageFile; IRandomAccessStreamWithContentType stream = await file.OpenReadAsync(); await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() => { BitmapImage image = new BitmapImage(); this.img.Source = image; await image.SetSourceAsync(stream); }); } }
protected async override void OnNavigatedTo(NavigationEventArgs e) { if (e.Parameter.GetType() == typeof(ViewModels.TodoItemViewModel)) { ViewModel = e.Parameter as ViewModels.TodoItemViewModel; } else if (e.Parameter.GetType() == typeof(ShareOperation)) { // handle event as a sharing target shareOp = (e.Parameter as ShareOperation); if (shareOp.Data.Contains(StandardDataFormats.Text)) { string text = await shareOp.Data.GetTextAsync(); DetailTextBox.Text = text; } } SetButton(); }
// Note that the following code if for snippeting only. It's not actually called in // this app. It's derived from the SharingTarget sample, so I'm confident it works. // <Snippetcs_HowToCreateAQuickLink> async void ReportCompleted(ShareOperation shareOperation, string quickLinkId, string quickLinkTitle) { QuickLink quickLinkInfo = new QuickLink { Id = quickLinkId, Title = quickLinkTitle, // For quicklinks, the supported FileTypes and DataFormats are set // independently from the manifest SupportedFileTypes = { "*" }, SupportedDataFormats = { StandardDataFormats.Text, StandardDataFormats.Uri, StandardDataFormats.Bitmap, StandardDataFormats.StorageItems } }; StorageFile iconFile = await Windows.ApplicationModel.Package.Current.InstalledLocation.CreateFileAsync( "assets\\user.png", CreationCollisionOption.OpenIfExists); quickLinkInfo.Thumbnail = RandomAccessStreamReference.CreateFromFile(iconFile); shareOperation.ReportCompleted(quickLinkInfo); }
private async Task UploadToJiraAsync(ShareOperation shareOperation, string jiraId, string comment) { // Read all images. var imageStreams = await GetImageStreamsAsync(shareOperation); var files = (await Task.WhenAll(imageStreams.AsParallel() .Select(async kv => { var originalStream = await kv.Value; var memoryStream = new MemoryStream(); await originalStream.AsStream().CopyToAsync(memoryStream); memoryStream.Position = 0; originalStream.Dispose(); return(new { kv.Key, Value = memoryStream }); }))) .ToDictionary(kv => kv.Key, kv => kv.Value); shareOperation.ReportSubmittedBackgroundTask(); // Send images to Jira. var jiraClient = new HttpJiraClient(new Uri($"https://{SettingsStore.JiraUrlPrefix}.atlassian.net/rest/api/2"), SettingsStore.JiraUser, SettingsStore.JiraPassword, SettingsStore.JiraUser); if (SettingsStore.JiraUrlPrefix.ToUpper() == TEST_PREFIX.ToUpper()) { jiraClient.TestMode = true; } foreach (var file in files) { await jiraClient.AddIssueAttachmentAsync(jiraId, file.Key, file.Value); } if (!string.IsNullOrWhiteSpace(comment)) { await jiraClient.AddCommentAsync(jiraId, comment, true); } }
/// <summary> /// 共有データに含まれる画像とファイルを登録候補として追加する. /// </summary> /// <param name="shareOperation"></param> private async void AddSharedItemsAsync(ShareOperation shareOperation) { var bmpItem = await SharedBitmapItem.CreateFromDataPackage(shareOperation.Data); if (bmpItem != null) { this.sharedItems.Add(bmpItem); } var stgItems = await SharedStorageFileItem.CreateFromDataPackage(shareOperation.Data); if (stgItems != null) { foreach (var stgItem in stgItems) { this.sharedItems.Add(stgItem); } } this.SharedItemsView.SelectAll(); }
protected override async void OnNavigatedTo(NavigationEventArgs e) { shrOpration = e.Parameter as ShareOperation; if (shrOpration == null) { return; } // 获取数据 if (shrOpration.Data.Contains(StandardDataFormats.Text)) { //var bmpstream = await shrOpration.Data.GetBitmapAsync(); //BitmapImage bmp = new BitmapImage(); //bmp.SetSource(await bmpstream.OpenReadAsync()); //this.img.Source = bmp; var jieshou = await shrOpration.Data.GetTextAsync(); Content_TextBox.Text = jieshou; } }
static async void HandleShareAsync(ShareTargetActivatedEventArgs args) { ShareOperation shareOperation = args.ShareOperation; if (shareOperation.Data.Contains(Windows.ApplicationModel.DataTransfer.StandardDataFormats.Bitmap)) { try { Stream bitMapStream = (Stream)shareOperation.Data.GetBitmapAsync(); ImageFile image = new ImageFile(bitMapStream); image.AddToCache(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } if (shareOperation.Data.Contains(Windows.ApplicationModel.DataTransfer.StandardDataFormats.StorageItems)) { try { IReadOnlyList <IStorageItem> items = await shareOperation.Data.GetStorageItemsAsync(); IStorageFile file = (IStorageFile)items[0]; string path = file.Path; ImageFile image = new ImageFile(path); image.AddToCache(); } catch (Exception ex) { Console.WriteLine(ex.Message); } } shareOperation.ReportCompleted(); SingleInstanceManager singleInstanceManager = new SingleInstanceManager(); singleInstanceManager.Run(Environment.GetCommandLineArgs()); }
protected override async void OnNavigatedTo(NavigationEventArgs e) { switch (e.Parameter) { case MainPageArgs args: Arguments = args; break; case ShareOperation operation: _shareOperation = operation; break; default: break; } if (_isReady) { await OnFirstDiscordReady(null); } }
protected override async void OnShareTargetActivated(ShareTargetActivatedEventArgs args) { ShareOperation = args.ShareOperation; string type = await ExternalContentHelper.SetData(ShareOperation.Data); if (type == "") { ShareOperation.ReportError("Unknown data type received."); return; } ShareOperation.ReportDataRetrieved(); SendDataTemporaryStorage.IsSharingTarget = true; Frame rootFrame = null; LaunchRootFrameIfNecessary(ref rootFrame, false); rootFrame.Navigate(typeof(MainPage), new ShareTargetDetails { Type = type, }); }
protected override async void OnShareTargetActivated(ShareTargetActivatedEventArgs args) { // Code to handle activation goes here. ShareOperation shareOperation = args.ShareOperation; if (shareOperation.Data.Contains(StandardDataFormats.Text)) { string url = await shareOperation.Data.GetTextAsync(); Frame rootFrame = Window.Current.Content as Frame; if (rootFrame == null) { // Create a Frame to act as the navigation context and navigate to the first page rootFrame = new Frame(); // Place the frame in the current Window Window.Current.Content = rootFrame; rootFrame.Navigate(typeof(MainPage), args.ShareOperation); Window.Current.Activate(); } } }
public override async Task LoadDataAsync(ShareOperation shareOperation) { await base.LoadDataAsync(shareOperation); PageTitle = "ShareTarget_ImagesTitle".GetLocalized(); DataFormat = StandardDataFormats.StorageItems; var files = await shareOperation.GetStorageItemsAsync(); foreach (var file in files) { var storageFile = file as StorageFile; if (storageFile != null) { using (var inputStream = await storageFile.OpenReadAsync()) { var img = new BitmapImage(); img.SetSource(inputStream); Images.Add(img); } } } }
protected override void OnShareTargetActivated(ShareTargetActivatedEventArgs args) { if (args.PreviousExecutionState == ApplicationExecutionState.NotRunning) { ShareOperation shareOperation = args.ShareOperation; if (shareOperation.Data.Contains(StandardDataFormats.StorageItems)) { shareOperation.ReportDataRetrieved(); Frame frame = new Frame(); frame.Navigate(typeof(ShareTargetPage), shareOperation); Window.Current.Content = frame; Window.Current.Activate(); } else { shareOperation.ReportError("An error occured."); } } else { // App is running ShareOperation shareOperation = args.ShareOperation; if (shareOperation.Data.Contains(StandardDataFormats.StorageItems)) { shareOperation.ReportDataRetrieved(); var rootFrame = CreateRootFrame(args.PreviousExecutionState, "", typeof(ShareTargetPage)); rootFrame.Navigate(typeof(ShareTargetPage), shareOperation); Window.Current.Activate(); } else { shareOperation.ReportError("An error occured."); } } }
protected override async void OnNavigatedTo(NavigationEventArgs e) { switch (e.Parameter) { case MainPageArgs args: Arguments = args; break; case ShareOperation operation: _shareOperation = operation; break; default: break; } WindowManager.HandleTitleBarForWindow(titleBar, this); if (_isReady) { await OnFirstDiscordReady(null); } }
protected override async void OnShareTargetActivated(ShareTargetActivatedEventArgs args) { ShareOperation shareOperation = args.ShareOperation; var formats = shareOperation.Data.AvailableFormats.ToArray(); if (shareOperation.Data.Contains(StandardDataFormats.StorageItems)) { shareOperation.ReportStarted(); var storageItems = await shareOperation.Data.GetStorageItemsAsync(); var firstFile = storageItems.First() as StorageFile; string json = await FileToJson(firstFile); shareOperation.ReportDataRetrieved(); LaunchMainUI(args); ApplicationCenter.Receive(json); } }
public async Task OnShareTargetActivated(ShareOperation shareOperation) { this.shareOperation = shareOperation; if (shareOperation.Data.Contains(StandardDataFormats.WebLink)) { // https://www.microsoft.com/store/productId/9NNDJTDMH874 Uri webLink = await shareOperation.Data.GetWebLinkAsync(); if (!webLink.ToString().Contains("www.microsoft.com/store")) { Analytics.TrackEvent("Wrong share link"); shareOperation.ReportError("Data doesn't contain link to Microsoft Store."); return; } string appId = webLink.ToString().Split('/').LastOrDefault(); var database = new Database(); var list = await database.GetAll(); if (list.Any(e => e.AppId == appId)) { IsAppOnWishlist = true; IsNewApp = false; } await CoreApplication.GetCurrentView().Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { AppName = shareOperation.Data.Properties.Title; AppInfo = new ApplicationInfo() { AppId = appId, AppName = AppName, IsInstalledClicked = false, }; }); } }