アラームアプリを作りたいです。
バックグラウンドでタイマーを操作する方法を見つけました。しかし、ディスプレイの電源を制御する API が見つかりませんでした (ディスプレイの電源がオフのときに電源をオンにしたい)。
Windows 10 (Windows ユニバーサル アプリ) には、そのアプリを作成するのに十分な API がありませんか?
アラームアプリを作りたいです。
バックグラウンドでタイマーを操作する方法を見つけました。しかし、ディスプレイの電源を制御する API が見つかりませんでした (ディスプレイの電源がオフのときに電源をオンにしたい)。
Windows 10 (Windows ユニバーサル アプリ) には、そのアプリを作成するのに十分な API がありませんか?
Windows-universal-samplesは最近更新され、これを含むいくつかの新しい RTM サンプル ( Notifications ) が追加されました。
アラームも通知の一種であるため、ユニバーサル Windows プラットフォームの新しいトースト通知フレームワーク内に構築されるようになりました。
上記の通知のリンクからソース コードをダウンロードした後、Visual Studio 2015 RTM で実行し、アプリが読み込まれたら、
トースト > シナリオ > シナリオ: アラーム
完全に機能するアラーム アプリが表示されます (リマインダーや他の多くのサンプルと共に)。
コードについて話しましょう。
基本的に、Windows Phone Silverlight とは異なり、次のように xml ペイロードを指定することで、アラーム ポップアップを少しカスタマイズできるようになりました (scenario
が に設定されていることを確認してくださいalarm
) 。
<toast launch='args' scenario='alarm'>
<visual>
<binding template='ToastGeneric'>
<text>Alarm</text>
<text>Get up now!!</text>
</binding>
</visual>
<actions>
<action arguments = 'snooze'
content = 'snooze' />
<action arguments = 'dismiss'
content = 'dismiss' />
</actions>
</toast>
そして、上記のxml文字列をロードするXmlDocumentを作成します
var xmlString = @"//copy above xml here//";
var doc = new Windows.Data.Xml.Dom.XmlDocument();
doc.LoadXml(xmlString);
次に、を作成しToastNotification
てトリガーしますToastNotificationManager
-
var toast = new ToastNotification(doc);
ToastNotificationManager.CreateToastNotifier().Show(toast);
それでおしまい!以下のようなアラームポップアップが表示されます。
Microsoft は最近、私の API 要求の 1 つに応答しました。ここにコンテンツを投稿して、追加された API と未解決の API を誰もが知っているようにします。
行われたこと
参考文献
私たち (MSFT) が知っていることで不足しているものは、近い将来にサポートされる予定です
繰り返しイベントのアラーム/リマインダーでのネイティブ プラットフォーム サポート(回避策 - これは現在、アプリを手動で定期的に起動し、一連のアラーム/リマインダーを事前に再スケジュールすることによってのみ実行できます) ;
アラーム/リマインダーの着信音として音楽ライブラリから曲を選択するためのネイティブ プラットフォーム サポート(回避策 - これは、音楽ライブラリからファイルを読み取ってコピーし、アプリ パッケージでファイルの保存/変更されたバージョンを使用することで実行できます。 app データを着信音として使用します (トースト通知は、appx 内のファイルまたは xml ペイロード内の appdata を指すことによってカスタム サウンドをサポートします)。
GitHub には、有用なWin 10 Universal Samplesが多数あります。ただし、Alarms に直接関連するものは見当たりませんでした。
残念ながら、Windows ユニバーサル アプリケーションはディスプレイ設定に直接アクセスできません。ただし、AlarmApplicationManager クラスを使用してアラームを作成できます。これにより、場合によっては (WindowsPhone では確かに) ディスプレイが自動的にオンになり、アラーム (タイトルと説明付き) が表示されます。