5

アラームアプリを作りたいです。

バックグラウンドでタイマーを操作する方法を見つけました。しかし、ディスプレイの電源を制御する API が見つかりませんでした (ディスプレイの電源がオフのときに電源をオンにしたい)。

Windows 10 (Windows ユニバーサル アプリ) には、そのアプリを作成するのに十分な API がありませんか?

4

4 に答える 4

16

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 を誰もが知っているようにします。

行われたこと

  1. ユニバーサル Windows アプリでアラーム/リマインダーを作成する方法が追加されました。
  2. アラーム/リマインダーは、カスタム スヌーズ時間をサポートします (システムがスヌーズを処理するか、バックグラウンド タスクを起動して手動で実行するかを選択できます)。
  3. アラーム/リマインダーは、ユーザーが上書きしてバイブレーションをオフにすることができるバイブレーションのみ (トーストと同様) をサポートします。
  4. アラーム/リマインダーは、適切なレベルのカスタマイズ性 (カスタムのオプションのインライン画像、カスタムの追加アクションなど) をサポートしています。

参考文献

私たち (MSFT) が知っていることで不足しているものは、近い将来にサポートされる予定です

  1. タイムゾーンが変更されたときに時間変換を自動的に処理するアラーム/リマインダーのネイティブ プラットフォーム サポート(回避策 - これは、TimeZoneChange システム トリガーを使用してアプリで手動で行うことができます)
  2. 繰り返しイベントのアラーム/リマインダーでのネイティブ プラットフォーム サポート(回避策 - これは現在、アプリを手動で定期的に起動し、一連のアラーム/リマインダーを事前に再スケジュールすることによってのみ実行できます) ;

  3. アラーム/リマインダーの着信音として音楽ライブラリから曲を選択するためのネイティブ プラットフォーム サポート(回避策 - これは、音楽ライブラリからファイルを読み取ってコピーし、アプリ パッケージでファイルの保存/変更されたバージョンを使用することで実行できます。 app データを着信音として使用します (トースト通知は、appx 内のファイルまたは xml ペイロード内の appdata を指すことによってカスタム サウンドをサポートします)

于 2015-08-01T03:30:54.343 に答える
2

GitHub には、有用なWin 10 Universal Samplesが多数あります。ただし、Alarms に直接関連するものは見当たりませんでした。

于 2015-07-31T13:29:41.317 に答える
0

残念ながら、Windows ユニバーサル アプリケーションはディスプレイ設定に直接アクセスできません。ただし、AlarmApplicationManager クラスを使用してアラームを作成できます。これにより、場合によっては (WindowsPhone では確かに) ディスプレイが自動的にオンになり、アラーム (タイトルと説明付き) が表示されます。

于 2015-07-31T08:28:13.807 に答える