tmytのらくがき

個人の日記レベルです

ロック画面にアイコンを表示する

Windows Phone 8でロック画面に通知アイコンを出せるようになりました。わりと簡単なので対応させてみましょう。

まず、ロック画面に出すアイコンを作ります。このアイコンは 24x24 で、白とアルファだけで作ります。ファイル名はLockIcon.pngとでもしておきます。

次に、WMAppManifest.xmlをコードで開きます。ソリューションツリーからプロパティの中のWMAppManifest.xmlを右クリックしてコードを表示 です。
コードを表示したら<DeviceLockImageURI>というところがあると思います。ここを次の様に変更します。

<DeviceLockImageURI IsRelative="true" IsResource="false">LockIcon.png</DeviceLockImageURI>

そして最後に、</Tokens>の下にこれを書き足します。

<Extensions>
  <Extension ExtensionName="LockScreen_Notification_IconCount" ConsumerID="{111DFF24-AA15-4A96-8006-2BFF8122084F}" TaskID="_default" />
</Extensions>

ここまで出来ればアイコンを出す準備はできてます。アプリをデプロイしましょう。デプロイしたら、設定のロックスクリーンを開いて、一番下のロックスクリーンに出すアイコンを選択するところで自分のアプリを選択します。

最後にロック画面に出したアイコンの数字を変更する方法ですが、この数字はホーム画面のタイルに出す数字と連動しています。ですので、こんなコードで更新できます。

void UpdateCount(int n)
{
    var tile = new StandardTileData();
    tile.Count = n;
    ShellTile.ActiveTiles.First().Update(tile);
}

今回はローカル側で数字を変更するコードで表示を変えました。でもこれはタイルについてる数字が変わればなんでもいいんです。ようはPushNotificationだろうが、BackgroundTaskで1時間ごとになんかして変えるとかそういうのでもいいわけです。是非皆さん使ってみてください。