0

私のサービスでは、X 分ごとに自分の位置を追跡します。試してみます

LocationManager lm=(LocationManager)getApplicationContext().getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);

criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);        
String provider=lm.getBestProvider( criteria, true );
if (provider!=null){

    lm.requestLocationUpdates(provider,5000,1,locationListenerNetwork);
}

ネットワークの場所を使用して、それが利用できない場合は、GPS の場所を試します。

問題は、プロバイダーが利用可能なときに、場所を尋ねようとすることです

lm.requestLocationUpdates(provider,5000,0,locationListenerNetwork);

ここで、LocationListenerNetwork は LocationListener ですが、何も起こりません。

onLocationChanged(Location location)

内部 LocationListenerNetwork は呼び出されません

GPS を (ACCESS_FINE_LOCATION 権限で) 使用すると、onlocationchanged が呼び出され、すべて正常に動作します。

これは、Galaxy S3 jb (4.1) でのみ発生します。(正しく設定されています)更新前、および他のスマートフォンでは、すべて正常に動作します。

試着しました

  • ギャラクシー ネクサス 4.2
  • ギャラクシー ネクサス 4.1
  • ネクサス S 4.1
  • ギャラクシー S
  • ギャラクシーノート

私のコードはどこでも問題なく動作しますが、S3 JB では解決方法がわかりません。もう 1 つの奇妙な点は、gmaps は GPS がなくても位置を完全に追跡するため、デバイスの問題ではないということです。

4

1 に答える 1

0

これは実際には答えではありませんが、役立つかもしれません....

この投稿によると: Android 4.1.1 で NETWORK_PROVIDER の動作が変更されましたか?

私と彼はGalaxy Nexusで同様の問題を抱えていました.再起動すると問題が解決しました.

于 2012-12-06T08:33:09.207 に答える