画面がない(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 を起動して画面がなくても動くアプリのプロジェクトを作成します。
プロジェクトが作成できました!!
こんな感じのコードが出来上がっているので、ここにコードを追加してきます。
まず最初に非同期メソッド(Http)を使ってみましょう!
こんなコードになるはずです。
実機で動かすとこんな感じで表示されます
ポイント解説
1行目で taskInstance.GetDeferral();
を読んでDegetrral を取得して非同期メソッドを実行している途中でOSにアプリを終了させられないようにしてます。
アプリを終了させたときは timer.Complete();
を呼ぶことでアプリを終了させれます。
public async void Run(IBackgroundTaskInstance taskInstance) { //実行を待ってもらう var timer = taskInstance.GetDeferral(); }