バックグラウンド エージェントを使用してライブ タイルを更新する Windows Phone 7 アプリケーションに取り組んでいます。私が遭遇した問題は、バックグラウンド エージェントの無効化と再有効化に関係しています。ユーザーは、設定 (設定 - アプリケーション - バックグラウンド タスク) で特定のアプリケーションのバックグラウンド エージェントを無効にすることができます。
バックグラウンド エージェントが無効になっている場合、次のコードを使用してエージェントをスケジュールしようとすると、「 BNS エラー: アクションが無効です 」というメッセージとともに InvalidOperationException の予期される動作が発生します。
ScheduledActionService.LaunchForTest(PeriodicTaskName, TimeSpan.FromSeconds(20));
ユーザーが設定メニューに戻り、チェックボックス「次回このアプリを開いたときにバックグラウンドタスクをオンに戻す」にチェックを入れても、同じ例外が発生します。
私の質問は、再有効化されたタスクを実行するにはどうすればよいですか?
MSDNのドキュメントでは、無効になったタスクの動作について説明していますが、それらを再度有効にする方法について説明しています。