Windows10 IoT Core 日本語情報サイト

Windows10 IoT Core の情報を発信していきます

画面がない(Headless Mode)アプリを作る

はじめに

先ほど作成したアプリはディスプレイにUIを表示していましたが、今回は画面無しでもアプリを動かせるようにしてみましょう!

ディスプレイがない場合 Raspberry Pi にLinux などを入れて使うときと似たような雰囲気で使うことができますが、UIを持つアプリをそのまま移植することはできないので注意が必要です。

必要なもの

  • Visual Studio がインストールされた Windows10 PC
  • Windows10 IoT Core がインストールされた Raspberry Pi 2 Model B
  • micro USB ケーブル
  • LAN ケーブル

手順

Visual Studio 2015 にWindows IoT Core Project Templates extension

という拡張機能をインストールして簡単に画面のないアプリを作成できるようにします。

Visual Studio 2015 を起動して画面がなくても動くアプリのプロジェクトを作成します。 f:id:kuxumarin:20160408034729p:plain

プロジェクトが作成できました!!

f:id:kuxumarin:20160408034719p:plain

こんな感じのコードが出来上がっているので、ここにコードを追加してきます。

Windows10 IoT Core チュートリアル

まず最初に非同期メソッド(Http)を使ってみましょう!

こんなコードになるはずです。

Headless Mode Async Sample

実機で動かすとこんな感じで表示されます

f:id:kuxumarin:20160409014228p:plain

ポイント解説

1行目で taskInstance.GetDeferral();を読んでDegetrral を取得して非同期メソッドを実行している途中でOSにアプリを終了させられないようにしてます。 アプリを終了させたときは timer.Complete();を呼ぶことでアプリを終了させれます。

public async void Run(IBackgroundTaskInstance taskInstance)
{
            //実行を待ってもらう
            var timer = taskInstance.GetDeferral();
}