홈>
아래 코드로 현재 위치를 가져 오려고하지만 반환됩니다. 위의 언급 장치에서 경도 및 위도 null 또는 0,0 8.0, Moto os 7.0, OnePlus 8.0). 동일한 OS를 가진 다른 장치에서는 정상적으로 작동합니다. 이것은 내 코드입니다.
if (isNetworkEnabled) {
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
Log.d("Network", "Network");
if (locationManager != null) {
location = locationManager
.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
if (location != null) {
latitude = location.getLatitude();
longitude = location.getLongitude();
}
}
}
// if GPS Enabled get lat/long using GPS Services
if (isGPSEnabled) {
if (location == null) {
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
Log.d("GPS Enabled", "GPS Enabled");
if (locationManager != null) {
location = locationManager
.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location != null) {
latitude = location.getLatitude();
longitude = location.getLongitude();
}
if (location == null || location.getAccuracy() < location.getAccuracy()) {
// Found best last known location: %s", l);
location = location;
}
}
}
}
Get Last Known Location Method
private Location getLastKnownLocation() {
locationManager = (LocationManager)mContext.getSystemService(LOCATION_SERVICE);
List<String> providers = locationManager.getProviders(true);
Location bestLocation = null;
for (String provider : providers) {
Location l = locationManager.getLastKnownLocation(provider);
if (l == null) {
continue;
}
if (bestLocation == null || l.getAccuracy() < bestLocation.getAccuracy()) {
// Found best last known location: %s", l);
bestLocation = l;
}
}
return bestLocation;
}
onLocationChanged(Location location) method
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
String add=addresses.get(0).getAddressLine(1)+", "+addresses.get(0).getAddressLine(2);
- 답변 # 1
관련 자료
- Google 스프레드 시트의 특정 시트의 글꼴 셀 및 배경색 셀 가져 오기
- Google map geocode getting different result in Forward API and Reverse API - Google지도 지오 코드가 Forward API 및 Reverse API에서 다른 결과를
- 구글 시트에 행을 삽입하는 동안 이메일 받기
- php - Google 캘린더 가져 오기, "서비스 계정은 도메인 전체 권한 위임없이 참석자를 초대 할 수 없습니다"
- javascript - 추가 된 Google API 키가 여전히 오류 API 키를 찾을 수 없음
- dialogflow es - Google 어시스턴트와의 계정 연결이 apprequest에서 accessToken을 얻지 못함
- 권한 오류가 발생하는 Google 프레젠테이션에서 Google 시트 읽기
- javascript - google지도 - 지오 코더를 통해 주소를 좌표로 변환 한 후 길 찾기
- Google Service Accounts / API - google 서비스 계정/api - 계속 오류 : 액세스 권한이 부여되지 않았거나 만료되었습니다 (454 행, "service"파일)
- java - google 드라이브 api를 사용하여 특정 파일을 검색 할 때 "message"오류 메시지 - "잘못된 값"
- javascript - 두 개의 Google 원형 차트 중 하나만 표시됩니다
- node.js - Google 드라이브 API에서 403 얻기
- typescript - 각도 구성 요소가 Google 차트 참조를 가져 오지 못함
GPS와 같은 기본 위치 센서를 래핑하는 고급 Google Play 서비스 API 인 Fused Location API를 사용해보십시오.
사용법 :
app/build.gradle
의 의존성 추가필요한 권한 :
LocationServices API에 연결
onLocationChanged로 위치 업데이트 등록 후
자세한 내용은 guides.codepath.com 가이드를 참조하십시오