2017-01-14 15 views
2

私は、エミュレータAがSMSをエミュレータBに(アプリケーションを開いた状態で)送信すると、Bは位置座標をSMS経由でAに返します。問題は、エミュレータでは、onlocationchangedがトリガされ、座標が正常に返されます。同じエミュレータでアプリを再実行した場合、locationchangedはトリガされませんので、緯度と経度の値はnullのままです。アプリが起動されるたびにonlocationchangedが呼び出されるようにするにはどうすればよいですか?ありがとうSMSリスナーによるGPSの経度と緯度

+0

場所が変更されない場合、そのメソッドはなぜ実行されますか?あなたはSharedPreferencesに場所を保存することができます –

答えて

0

これは、私がGPSロック(許容可能な精度のGPS信号)を得るまで私のLocationRequestを設定する方法です。ユーザーが動いたかどうかにかかわらず、毎秒座標を受け取ります。ロックを取得すると、リクエストを10秒ごとにスローダウンし、最小変位を10メートルに変更します。 smallestDisplacementを0に設定すると、onLocationChangedメソッドが動きなくトリガーできることに注意してください。

mLocationRequest = new LocationRequest(); 
    mLocationRequest.setInterval(1000);    //1 second 
    mLocationRequest.setFastestInterval(1000);  //1 second 
    mLocationRequest.setSmallestDisplacement(0); //always accept gps 
    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);