2017-03-21 5 views
0

Android搭載デバイスが屋内または屋外にあるかどうかを私が書いているアプリで検出する必要があります。私の目標は、ユーザーが特定の建物をできるだけ早く離れるかどうかを検出することです。 私はユーザーの位置信号を使用しようとしました。あまりにも多くの電池の電力を無駄にしたくないので、私はGPSサンプリングを開始していないので、ユーザーが建物を離れたかどうかを検出する唯一の方法は、彼が場所から十分離れているのを待ってから、 Wi-Fiまたはセルでサンプリングされたものです。 問題は、ユーザーが建物を離れたことを検出するまでにかなりの時間がかかることです。GPSを使用してAndroid搭載デバイスが屋内にあるかどうかを検出する

私は、ユーザーが屋内にいるとき、彼のGPS信号が弱いことを知っています。私は何とかGPSステータスを使用して、ユーザーが屋内か屋外かを調べることはできますか? GPSロケーションサンプルを開始することは無駄でしょうか?

ありがとうございました。

答えて

0

FusedLocationProviderでやりたいことはできませんが、これはWiFiとセルタワーの三角測量を使用するためです。 LocationManagerを使用する必要があります。

あなたが内部にいるかどうかを知ることは難しく、私が知る限りこれを行う決定的な方法はありません。しかし、あなたは情報に基づいた推測をすることができます。あなたがチェックすることができますが、いくつかのことを持っている「弱い」GPS信号を検出するという点で

  • あなたに利用できる衛星の数。低い数値の場合は、屋内でも、衛星の受信可能範囲が狭い場所でもかまいません。
  • 受信したGPS位置の水平精度。この値が高い場合は、内部にいるために精度が低いとみなすことができます。
  • 一定期間受信した場所がありません。これはあなたが内部にいるためかもしれません。

あなたはGPSと同様に他のチェックを行うことを考えましたか。WiFiに接続していると、内部にいる可能性が高くなりますか?

+0

はい、私はwifi接続/切断も使用しています。 GPS信号の強度を検出するのにバッテリの電力コストがかかりますか? – user429400

+0

あなたは 'LocationManager'から位置更新を要求しなければなりません。私の経験では、これはあまり高価ではありません。あなたが5分間それをオンにして、情報に基づいた決定を下すために十分な情報を持っていればそれをオフにしている場合、それは現代のデバイスで特に無視できます。 – StuStirling

関連する問題