#wpdev_jp

Windows Phone におけるアプリケーションの起動は、アプリケーションリストかタイルから起動するのが基本。でもプログラマー目線で見るといくつかのパターンがある。

  1. タイルかアプリケーションリストから起動する
  2. Picture ハブのアプリ、もしくは共有から起動する
  3. セカンダリタイルから起動する
  4. 裏に回っているアプリを戻るボタン等で復帰させる

実は起動するパターンによって起動プロセスは若干異なります。異なる点は2つ+1

  • アプリケーションオブジェクトで発生するイベント(App.xaml.cs)
  • 起動されるページ(MainPage.Xaml 等)
  • 起動時に渡される引数

図にするとこんな感じです。

image

  1. タイルかアプリケーションリストから起動する
    • 通常起動時は Launching イベントが発生し、そのご通常はMainPage.が起動されます。
  2. Picture ハブのアプリ、もしくは共有から起動する(Zune でも同様)
    • 通常起動と同じ起動プロセスですが、引数として QueryString に画像情報などが渡されています。
  3. セカンダリタイルから起動する
    • アプリから作られたセカンダリタイルから起動しても通常と同じように起動されますが、セカンダリタイルに登録されているページが開きます
  4. 裏に回っているアプリを戻るボタン等で復帰させる
    • 復帰の場合は Launching イベントは発生せず、Activated イベントが発生し、最後に表示刺されているページが開きます。

注意すべきは初期化処理をどこでやっているか、という点です。MainPage.Loaded に初期化処理を入れていると、セカンダリタイルから起動したときには初期化処理が行われないため、注意が必要です。