2

重複の可能性:
Windows Phone でアプリケーションをバックグラウンドで実行する方法は?

アプリケーションがバックグラウンドにある場合でも定期的に実行されるタスク (正確には FTP 書き込み) を作成する方法の例として、Windows Phone 8 SKD を調査しています。

バックグラウンド転送サービスは「HTTP と HTTPS を使用した転送のみをサポートしています。FTP はサポートされていません」ため、ドキュメントではバックグラウンド エージェントを指摘しています。私はサンプルを試してテストしてきましたが、バックグラウンド エージェントのイベント時間を設定できないという事実を除いて、すべてが (多かれ少なかれ) 機能しています。ドキュメント「定期的なエージェントは通常30分ごとに実行されます」によると、メソッド/クラス/コンストラクターには時間/日付パラメーターがありません。ScheduledActionService.LaunchForTest(task, Time) がありますが、本番環境ではなくデバッグ時にのみ使用され、MS がアプリを市場から拒否する可能性があります。

エージェントを毎分起動させる解決策または回避策はありますか?

4

2 に答える 2

5

フォアグラウンドで実行されていない場合、アプリで 1 分ごとにコードを実行することはできません。通常、PeriodicTask または ResourceIntensiveTask と呼ばれるバックグラウンド実行に使用します。最初のものは ~28 分ごとに実行され、6MB を超えるメモリ (WP8 では 11MB) しか使用できず、~20 秒以内に実行を終了する必要があります。2 番目のものは、より長い時間実行でき、より多くのメモリを使用できますが、Wi-Fi 信号の電話、充電器など、いくつかの厳しい要件があります...

WP8 でできるもう 1 つのことは、ユーザーの位置をアクティブに追跡している場合にバックグラウンドで実行できる位置追跡アプリを実装することです。アプリがロケーションベースの場合、これを使用して、1 分ごとに必要なものをダウンロードできます。しかし、アプリが位置情報に基づいていない場合は、運が悪い可能性が高くなります。

WP8 で位置追跡とバックグラウンド実行を使用する方法:
http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj681691(v=vs.105).aspx

于 2012-11-30T20:37:16.863 に答える
1

いいえ、WP8 プラットフォームは、あなたが考えているようなバックグラウンド タスクを実際にはサポートしていません。これは、アプリケーションをバックグラウンドで実行することにより、バッテリ寿命の低下を制限するための意図的な試みです。

バックグラウンド エージェントは、アプリケーションがアクティブでないときに何かを実行する必要がある場合に提供されるソリューションですが、スケジュールできるものではありません。

プラットフォームは、ポーリング操作がプッシュ通知に置き換えられ、可能な限り多くの重要な処理がデバイスから実行されるモデルに切り替えることを期待しています.

于 2012-11-30T15:07:56.220 に答える