[ストアアプリ][入門] Step55. バックグラウンドタスクを作成する ~その1~

今回から、ストアアプリでバックグラウンドタスクを作成する方法について見ていきます。

説明が長くなるため、何回かに分けて説明を指定行きます。


バックグラウンドタスクを作成することで、ストアアプリが起動していないときにライブタイルやトースト通知等の処理を実行することができるようになります。

バックグラウンドタスクは特定のトリガーによって起動します。好き勝手に動作させることができるわけではないので注意が必要です。

代表的なトリガーには以下のものがあります。

トリガー 説明
InternetAvailable インターネットが利用可能になったタイミングで起動するトリガー
NetworkStateChange ネットワークの変更が行われたタイミングで起動するトリガー
OnlineIdConnectedStateChange アカウントに関連付けられたIDが変更になったタイミングで起動するトリガー
SmsReceived SMSメッセージを受信したタイミングで起動するトリガー
TimeZoneChange タイムゾーンが変更されたタイミングで起動するトリガー

上記以外にもロック画面に表示するためのトリガーもあります。機会があれば紹介したいと思います。


最初に、新規のストアアプリプロジェクトを作成します。

次に、バックグラウンドタスク用のプロジェクトを新規に作成して追加します。

新しいプロジェクトの追加で「Windows ランタイムコンポーネント」を選択します。

この例では「BackgroundTask」という名前で作成しています。

Windowsランタイムコンポーネント プロジェクトの追加

次に、追加したBackgroundTaskプロジェクトを、元のプロジェクトに追加をします。

ソリューションエクスプローラーで元のプロジェクトを右クリック後、「参照の追加」をクリックします。

参照設定

 

追加するプロジェクト「BackgroundTask」にチェックを付けて[OK]ボタンをクリックします。

プロジェクトの追加

次に、新しく追加したプロジェクト(BackgroundTask)にあるClass1を開き、 IBackroundTaskインターフェースを実装します。このようにすることで、Class1はバックグラウンドタスクを処理することができるようになります。

C#の例

using Windows.ApplicationModel.Background;

namespace BackgroundTask
{
    public sealed class Class1 : IBackgroundTask
    {
        public void Run(IBackgroundTaskInstance taskInstance)
        {
            throw new NotImplementedException();
        }
    }
}

VBの例

Imports Windows.ApplicationModel.Background

Public NotInheritable Class Class1
    Implements IBackgroundTask


    Public Sub Run(taskInstance As IBackgroundTaskInstance) Implements IBackgroundTask.Run

    End Sub
End Class

バックグラウンド処理の中身は次回作成することとします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください