나는 이상한 문제가있어 이것을 알아 내려고 많은 시간을 보냈습니다. Android 마켓의 내 NFC Checkin 앱의 경우 사용자의 위치에 액세스하여 Foursquare 검색을 수행하고 있습니다. 그래서,안드로이드 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