私のサービスでは、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 がなくても位置を完全に追跡するため、デバイスの問題ではないということです。