kazuakix の日記

Windows Phone とか好きです

Silverlight 8.1 アプリでセカンダリ タイルを使う場合の注意点

そういえば 先日のセカンダリ タイルがうまく使えないらしいというネタですが...

実は Silverlight アプリだったんだそうです。
 
「えー、Silverlight が許されるのは Phone 8.0 までだよね?」なんて言いながら、こんなコードを実行してみたところ...

var tile = new SecondaryTile("PhoneApp6.Tile", "PhoneApp6", "/MainPage.xaml",  
    new Uri("ms-appx:///Assets/od_tile.png"), TileSize.Default);
tile.VisualElements.ShowNameOnSquare150x150Logo = true;
await tile.RequestCreateAsync();


あれ?

f:id:kazuakix:20141010235651j:plain

"Specified cast is not valid." という例外が出て落ちてしまいます。
 
でも なぜかサンプルプログラムではちゃんと動きます。

f:id:kazuakix:20141011000314j:plain,w240
 
何か違うんだろうと よーく見比べていると WMAppManifest.xml の通知サービスの部分がサンプルでは WNS 、動かないプロジェクトでは MPN になっていました。

f:id:kazuakix:20141011000945j:plain
 
試しに通知サービスを WNS に変えてやると この通り。

f:id:kazuakix:20141011000952j:plain,w240

まだまだ Silverlight も戦えますね。*1

*1:というか Phone の全力を出すなら Silverlight ですね