2017-10-13 23 views
0

私は、インプロセスのバックグラウンドタスクでユーザーの場所を継続的に追跡できるUWPアプリケーションを開発しようとしています。私はGitHub(geolocation/Secenario3_BackgroundTask)のMicrosoftサンプルコードを見てきましたが、問題はTimeTriggerに基づいていることです。 TimeTriggerが許可する最短間隔は15分ですが、私は場所の更新をもっと頻繁に取得する必要があります。少なくとも1分に1回は言ってみましょう。それはまったく可能ですか?UWPバックグラウンドタスクの位置追跡

私はLocationTriggerがあることを知りましたが、そこには多くのドキュメントがありません。このトリガーが発射されるとわからない。私のテストでは、決して解雇されませんでした。

答えて

1

LocationTriggerは、Geofencingのために使用され、モバイルデバイスが特定のエリアに入ったり出たりするとトリガされます。

TimeTriggerは最低でも15分の間隔があるため、要件に適していません。

Windows 10では、extended executionという新しいメカニズムが導入されています。ロケーショントラッキングは、別のアプリがフォアグラウンドに切り替えられたときにOSを実行するようにOSに依頼するサポートされたシナリオの1つです。

これはあなたのためsampleです。

+0

ありがとう、それはうまくいった! – user1195883

+0

もう一つのこと:バックグラウンドでそれを実行するのがかなり正確に24時間後、私は 'ExtendedExecutionRevokedReason.SystemPolicy'コールバックを取得しました。それは期待される行動ですか? – user1195883

+1

これは予想どおり、システムは任意のpoint_でセッションを取り消すことができます。 From doc: 'SystemPolicy':システムリソースのためにバックグラウンド実行が取り消されました。メモリ使用量やバッテリーなどのシステムリソースに注意してください。 [このページ](https://docs.microsoft.com/en-us/windows/uwp/launch-resume/run-minimized-with-extended-execution)にはいくつかの情報があります。 – kennyzx

関連する問題