何年も機能している getLastKnowLocation コードがいくつかありますが、Samsung Galaxy S3 4.0.4 では機能しません。
Location location = null;
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
String provider = locationManager.getBestProvider(criteria, true);
// The S3 returns null here (even though location is enabled), google maps works.
try {
location = locationManager.getLastKnownLocation(provider);
} catch (IllegalArgumentException e) {
}
if ( location == null ) { // only S3 gets this....
location = locationManager.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER);
}
PASSIVE_PROVIDER を追加すると、場所は取得できますが、onLocationChanged は取得されないことに気付きました。同じコードは、私が 2.1 から 4.1 までテストしたすべてのシステムで動作します (CM10 はさらに混乱しているように見えます)。
何が起こっているかについてのアイデアはありますか?バグ/機能?
同様の問題を抱えている他の人を見つけましたGalaxy S3でGPS位置情報が更新されない