2016-09-18 16 views
0

「類似の」質問がたくさんあることは知っていますが、どれも役に立つ回答はありません。一部のデバイスでOnLocationChangedが実行されない

私は、ネットワークとGPSの両方から、位置情報を更新しようとしています。 LocationListener初期化はかなり標準です:

私は2つのデバイス上でそれをテスト
locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); 
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 15000, 0, locationListener); 
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 15000, 0, locationListener); 

、サムスンギャラクシーS4(SM-N910F)とLG Gフレックス2(H950)。最初のデバイスでは、onLocationChangedが期待通りに呼び出されます(「ネットワーク」プロバイダからのみ)。イベントは2回目には発生しません。

両方のデバイスが「高精度」モードに設定されています。私はWi-Fiと4G LTE接続で2番目のデバイスを試しました。 Google Maps APIを使用しているため、地図上を移動しているユーザーマーカーがはっきりとわかりますが、イベントは呼び出されません。

onLocationUpdatedは第二のデバイス上で呼び出されることはありません、なぜ任意のアイデア?

また、GPSの修復には非常に時間がかかります。 GPSプロバイダからの更新をリクエストする際に、何か問題はありますか?

ありがとうございます!

答えて

1

Google PlayのロケーションAPIを使用することをおすすめします。

Googleのサービスを再生する場所APIは、あなたのアプリに場所 意識を追加する方法として、Androidの フレームワークの場所のAPI(android.location)よりも好ましいです。 Android フレームワークロケーションAPIを現在使用している場合は、できるだけ早く Google PlayサービスロケーションAPIに切り替えることを強くおすすめします。

https://developer.android.com/training/location/index.html

関連する問題