Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private async void Button_Click(object sender, RoutedEventArgs e)
- {
- var devices = await BandClientManager.Instance.GetBandsAsync();
- if (devices.Length > 0)
- {
- // Connects to extended IBandClient
- var band = await BandClientManager.Instance.ConnectCoreAsync(devices[0]);
- // Load layout from Content
- var layoutFile = await Package.Current.InstalledLocation.GetFileAsync("Assets\\custom_1.lblob");
- var layout = await FileIO.ReadBufferAsync(layoutFile);
- // Initialize a new Layouts collection
- var layouts = new BandLayoutCollection();
- // Add the layout to the collection, setting his index to 0 (Same used in SendPageUpdateAsync)
- // Currently layouts limit is 5
- layouts.SetLayout(0, new BandLayout(layout.ToArray()));
- // Loads tile and badge icons (Badge is the small one)
- var tile = await LoadIcon("ms-appx:///Assets/Strapp-FR.png");
- var badge = await LoadIcon("ms-appx:///Assets/Strapp-FR-Badge.png");
- // Loads additional icon used in the layout
- var icon = await LoadIcon("ms-appx:///Assets/Icon.png");
- // Creates the tile and adds the additional icon
- var strapp = new BandTile(baseGuid)
- {
- Name = "FrayxRulez",
- TileIcon = tile,
- SmallIcon = badge
- };
- strapp.AddIcon(icon);
- // Adds the tile, asking user for the consent
- await band.TileManager.AddTileAsync(strapp, layouts);
- // Collection of "values" to display in pages
- // Ids are the same used in the layout
- var fields = new BandTileElementCollection();
- fields.AddGlyph(11, 2);
- fields.AddTextBlock(12, "Line 1");
- fields.AddGlyph(21, 2);
- fields.AddTextBlock(22, "Line 2");
- fields.AddGlyph(31, 2);
- fields.AddTextBlock(33, "Line 3");
- // Updates (or creates) the pages, based on their ID (You can choose them, an id for every page you want)
- await band.TileManager.SendPageUpdateAsync(baseGuid, page1Guid, 0, fields);
- await band.TileManager.SendPageUpdateAsync(baseGuid, page2Guid, 0, fields);
- band.Dispose();
- }
- }
- // Helper method
- private async Task<BandIcon> LoadIcon(string uri)
- {
- StorageFile imageFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri(uri));
- using (IRandomAccessStream fileStream = await imageFile.OpenAsync(FileAccessMode.Read))
- {
- WriteableBitmap bitmap = new WriteableBitmap(1, 1);
- await bitmap.SetSourceAsync(fileStream);
- return bitmap.ToBandIcon();
- }
- }
- // Id of the tile
- private Guid baseGuid = Guid.Parse("4566d8b9-0006-435d-aeb1-2b01803cdf6c");
- // Ids of the pages
- private Guid page1Guid = Guid.Parse("4566d8b9-0002-435d-aeb1-2b01803cdf6c");
- private Guid page2Guid = Guid.Parse("4566d8b9-0003-435d-aeb1-2b01803cdf6c");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement