locked
バックグラウンドタスクでのアラーム設定 RRS feed

  • 質問

  • いつも、大変お世話になっております。アプリ開発初心者です。

    開発環境 OS:windows phone7.1 言語:C#

    ただいま、次のようなアプリを実験中ですが、上手くいかないので、助けをお願いしたいです。

    例)毎日、見たいテレビ番組(放送時刻は不規則)の放送時刻になるとアラームを鳴らす。

    このような、アプリを作る場合、バックグラウンドで、1日1回、テレビ番組の放送時刻をWEBサービスで取得して、

    取得した時刻を、アラーム時刻としてスケジューラに登録( ScheduledActionService.Add(alarm))すれば良いと思います。

    上記のように考え、バックグラウンドタスクで、アラーム時刻を登録したところ、

    "BNS Error: The API can only be called from foreground app"

    とのエラーが発生します。エラーメッセージからすると、バックグラウンドではアラーム設定できないとのことだと思います。

    この解決策ってあるのでしょうか?それとも現状のOSでは、このアプリを作るのに無理があるのでしょうか?

    調べるのですが、よく分かりません。どなたか、良いアドバイスをお願いします。

    • 移動 Mike Wang (MSCS) 2012年10月2日 11:14 (移動元:Windows Phone 7 向けの開発)
    2011年12月27日 13:22

回答

  • こんばんは、CH3COOH(酢酸)です。

    > エラーメッセージからすると、バックグラウンドではアラーム設定できないとのことだと思います。

    おっしゃる通りで、残念ながらバックグランドエージェントではScheduler APIを使用出来ません。
    下記のページにバックグランドでは利用できないAPIがまとめられています。

    Unsupported APIs for Background Agents for Windows Phone
    (日本語版のMSDNでも良いのですが掲載されているAPIが異なりますので、より正確な英語版にリンクを貼らせて頂きます)

     

    今後、Windows Phone OSのアップデートに伴い改善していくと思われますので、
    「ここが問題だよ」とMSに訴えかける意味でも、下記のサイトよりフィードバックをしていただくのが良いかもしれません。
    http://wpdev.uservoice.com/forums/136286-app-platform-japan

    ご参考になれば幸いです。

    • 回答としてマーク noriyasu 2012年1月23日 3:44
    2012年1月22日 16:19

すべての返信

  • こんばんは、CH3COOH(酢酸)です。

    > エラーメッセージからすると、バックグラウンドではアラーム設定できないとのことだと思います。

    おっしゃる通りで、残念ながらバックグランドエージェントではScheduler APIを使用出来ません。
    下記のページにバックグランドでは利用できないAPIがまとめられています。

    Unsupported APIs for Background Agents for Windows Phone
    (日本語版のMSDNでも良いのですが掲載されているAPIが異なりますので、より正確な英語版にリンクを貼らせて頂きます)

     

    今後、Windows Phone OSのアップデートに伴い改善していくと思われますので、
    「ここが問題だよ」とMSに訴えかける意味でも、下記のサイトよりフィードバックをしていただくのが良いかもしれません。
    http://wpdev.uservoice.com/forums/136286-app-platform-japan

    ご参考になれば幸いです。

    • 回答としてマーク noriyasu 2012年1月23日 3:44
    2012年1月22日 16:19
  • CH3COOH(酢酸)さん、毎回情報ありがとうございます。

    やはり、バックグランドエージェントではScheduler APIを使用できないのですね。

    そんな感じもして、毎日、情報を取得して、連日アラームをセットは止めました。

    1度に5日分情報を取得して、まとめてアラーム設定し、5分だけ連続と考えました。

    いろいろ、情報ありがとうございました。

    2012年1月23日 3:49