- [Android] locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER) 이 null을 반환할 때2022년 12월 25일 22시 29분 42초에 업로드 된 글입니다.작성자: 핀수728x90반응형
상황
날씨앱이다 보니 현재 위치를 받아와야 하는 것은 당연하다.
현재 위치의 좌표를 구하기 위해 LocationManager 클래스의 getLastKnownLocation 메서드를 이용한다.
그런데 해당 메서드가 Location이 아닌 null을 반환하는 바람에
현재 위치도, 현재 주소도 알 수 없어졌다.
getLastKnownLocation(provider)
Gets the last known location from the given provider, or null if there is no last known location. The returned location may be quite old in some circumstances, so the age of the location should always be checked.
공식문서에 따르면 해당 메서드에 대한 정의는 위와 같다.
해당 메서드는 이전에 저장된 위치 정보(캐시된 위치)를 가져오며, 이전에 저장된 위치 정보가 없다면 null을 반환할 수 있다는 것이다.
디바이스를 재부팅하는 경우 null을 반환하는 것을 확인할 수 있었다.
provider
GPS 를 통해 위치에 접근할 것이기 때문에 LocationMagager.GPS_PROVIDER 를 인자로 넘긴다. (GPS가 활성화 되어 있어야 한다.)
인자는 null이 될 수 없으며, provider가 null이거나 존재하지 않으면 IllegalArgumentException이 발생하므로 주의해야한다.
GPS_PROVIDER
GNSS 을 사용해 위치를 결정하고 제공한다.
NETWORK_PROVIDER
네트워크를 통한 위치 정보(와이파이 접근 지점, 통신구역?)를 제공한다. 네트워크 연결이 필요할 수 있다.
따라서..
LocationMagager.GPS_PROVIDER 를 통한 이전 위치 정보를 받아올 수 없다면 NETWORK_PROVIDER 를 이용한다.
*정확도는 GPS보다 떨어질 수 있다.
또한, requestLocationUpdates() 메서드를 사용해 사용자의 위치 업데이트를 요청할 수 있다.
References
아래 글을 참고하여 작성 되었습니다.
LocationManager | Android Developers
developer.android.com
[Android] LocationManager.getKnownLastLocation 에서 null이 반환되는 경우
실행환경 Desktop 조립식 CPU Intel(R) Core(TM) i7-3770 3.50GHz Memory 4 GB OS Window 7 Professional 32bit Java 1.7.0_51 Android SDK : 4.4.2 (KitKat) / 테스트기기 : Galaxy S3 4.3(Jelly Bean) WebServer Apache Tomcat 7.0 DB MySQL 5.6.15 문제점gp
blog.opid.kr
Android에서 getLastKnownLocation이 null을 반환할 경우
위치정보 활용하는 토이 프로젝트를 만들고 있었는데getLastKnownLocation()이 계속 null을 반환하였다.마지막으로 갱신되었던 위치를 반환하는데 저장된 위치가 없어서 null을 반환하는 거 같다.Android
velog.io
728x90반응형'Do what you want > WW' 카테고리의 다른 글
[Android] 프로그래밍 방식으로 동적 링크 만들기 (0) 2023.03.08 [Android] 공유하기 기능 추가하기 | Firebase Dynamic Links (0) 2023.03.06 [Android] Bottom Appbar와 FloatingActionButton (feat. Appbar left margin 없애기) (0) 2022.12.01 바텀 네비게이션 추가하기, 프로토타입 만들기 (0) 2022.03.20 API 변경하기 (0) 2021.11.05 다음글이 없습니다.이전글이 없습니다.댓글