私は奇妙な問題を抱えており、これを理解しようと多くの時間を費やしています。 AndroidマーケットのNFC Checkinアプリでは、Foursquare検索を行うためにユーザーの場所にアクセスしています。そう、Android LocationListener.onLocationChangedは決して呼ばれません
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_MEDIUM);
String providerName = locationManager.getBestProvider(criteria, true);
Location loc = locationManager.getLastKnownLocation(providerName);
showSearchUI();
if (loc.getTime() > (new Date().getTime() - 1000*2*60)) //2Minutes back
{
Log.d("demo", "LastKnownLocation is good enough, using this location!");
startVenueSearch(loc);
}
else
{
Log.d("demo", "Requesting network location updates...");
locationManager.requestLocationUpdates(providerName, 0, 0, this);
}
活動LocationListenerインターフェイスを実装しています: -
だから、ここで私は(今私はAAギャラクシーネクサス上で、まだアンドロイド4.0.2上で同様のコードが前に働いている)何をすべきか大体ですここにonLocationChangedメソッドがあります:
@Override
public void onLocationChanged(Location location) {
locationManager.removeUpdates(this);
Log.d("demo", "Got fresh location, beginning... " + location.getLatitude() + "/" + location.getLongitude());
//fake hybris
//location.setLatitude(48.150098d);
//location.setLongitude(11.546026d);
startVenueSearch(location);
}
問題:単に場所の更新を取得しません。私はちょうどハッキングし、コードをNetworkProviderへの直接呼び出しからプロバイダの条件ベースの検索に変更しましたが、それでも機能しません。誰でも?
解決方法を見つけましたか? – 4gus71n