がりらぼ

WindowsRuntimeの応援ブログ

タイル通知入門

Windows8でのユーザーとの対話機能、タイルの更新方法について書きます。

基本的には、
1.タイルのXMLテンプレートを取得
2.XML編集
3.通知クラスの作成
4.通知終了時間の設定
5.通知送信
の5段階を踏むと、タイルに通知を送信することができます。

まずはスクエアタイルにテキストメッセージだけ表示してみる。

//タイルテンプレートを取得(XML)
            XmlDocument tileDoc=TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareText01);
            //タイルテンプレートを編集
            tileDoc.GetElementsByTagName("text")[0].InnerText="通知だお";

            //通知クラスを作成
            TileNotification notifi = new TileNotification(tileDoc);
            //通知終了時間(今からどれくらいあとか)
            notifi.ExpirationTime = DateTimeOffset.UtcNow.AddSeconds(10);
            
            //通知送信
          TileUpdateManager.CreateTileUpdaterForApplication().Update(notifi);

次に画像つきで表示してみる

 TileUpdateManager.CreateTileUpdaterForApplication().Clear();
            //タイルテンプレートを取得(XML)
            XmlDocument tileDoc = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquarePeekImageAndText01);
            //タイルテンプレートを編集
            tileDoc.GetElementsByTagName("text")[0].InnerText = "通知だお";
            ((XmlElement)tileDoc.GetElementsByTagName("image")[0]).SetAttribute("src", "http://www.st-hatena.com/users/ga/garicchi/user.png?1340107650");
            ((XmlElement)tileDoc.GetElementsByTagName("image")[0]).SetAttribute("alt", "not found");

            //通知クラスを作成
            TileNotification notifi = new TileNotification(tileDoc);
            //通知終了時間(今からどれくらいあとか)
            notifi.ExpirationTime = DateTimeOffset.UtcNow.AddSeconds(10);

            //通知送信
            TileUpdateManager.CreateTileUpdaterForApplication().Update(notifi);

Appleキーボード使ってるからスクショ環境がなくてスクショが出せないのが悲しい