2015-11-25 38 views

答えて

9

バックグラウンドでWeb Appからユーザーの場所を見ることはできません。 Chrome(Android M)で確認しました.WebアプリケーションがバックグラウンドになるとすぐにGPSアイコンが消え、監視位置プロセスが停止します。 (Webアプリケーションが再びフォアグラウンドに入ると、ウォッチプロセスが再開されます)。

デバイスがロックされている場合も同じことが起こります。ウォッチプロセスは、ユーザーがロックを解除してWebアプリケーションがフォアグラウンドになるまで停止します。

-1

はい。あなたのモバイルブラウザがをサポートしているならば、あなたは確かにバックグラウンドで場所を見ることができます。

watchPosition()の機能を使用できます。

watchPosition()コードスニペット

var watchID = navigator.geolocation.watchPosition(function(position) { 
    do_something(position.coords.latitude, position.coords.longitude); 
}); 

位置データの変更(デバイスの動きによって以上 正確な地理情報が到着した場合のいずれか)の場合は、コールバック関数 を設定することができますその更新された位置情報で呼び出されます。これは、同じ入力 のパラメータがgetCurrentPosition()であるwatchPosition()関数を使用して を実行します。コールバック関数は と呼ばれ、ブラウザがあなたの場所を として更新するか、より正確な場所を提供することができます。

getCurrentPosition()コードスニペット

navigator.geolocation.getCurrentPosition(function(position) { 
    do_something(position.coords.latitude, position.coords.longitude); 
}); 

より多くの情報を取得するには、参照してくださいMozilla/Geolocation/WatchCurrentPosition

はそれが役に立てば幸い!

+0

おかげで、ネクサス5Xを使用していて、デバイスがロックされ、誰かのポケットにされている場合でも、これは動作しますか? – Niels

+0

@Niels正直なところ私はこのユースケースをテストしていません。私はデバイスがロックされているときに更新された位置を取得することができなくなるのではないかと恐れています。このユースケースをテストすれば、ここでお知らせください! – krishnaxv

+4

Androidでキャッシュされた(バックグラウンド)プロセスでは、ジオロケーションが正しく動作しません。 – dusoft

0

私はアンドロイドのwatchPosition apiをテストしましたが、Firefoxでは動作しますが、chromeでは動作しないようです。

UPDATE: - 私はAndroidのN

答えるため
関連する問題