>Java >java지도 시간 >내 Android 앱이 네트워크 공급자를 사용하여 위치를 업데이트하지 않는 이유는 무엇입니까?

내 Android 앱이 네트워크 공급자를 사용하여 위치를 업데이트하지 않는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-03 11:32:11562검색

Why Isn't My Android App Updating Location Using the NETWORK Provider?

Android에서 NETWORK 공급자를 사용하여 현재 위치를 가져오는 방법

Android에서 현재 위치를 검색하는 것은 모바일 애플리케이션의 일반적인 작업입니다. 그러나 NETWORK 공급자를 사용할 때는 기본 메커니즘을 이해하는 것이 중요합니다. 이 기사에서는 질문에 제공된 원본 코드가 NETWORK 공급자를 사용할 때 위치를 업데이트하지 않는 이유를 살펴보겠습니다.

원본 코드의 문제

원본 코드는 LocationManager를 활용하여 위치 업데이트를 요청합니다. GPS 포지셔닝은 올바르게 처리하지만 NETWORK 포지셔닝은 제대로 처리하지 못합니다. 이는 코드가 위치 변경을 처리하기 위해 LocationListener를 정의하지 않기 때문입니다.

LocationListener 정의

위치 업데이트를 받으려면 LocationListener를 정의해야 합니다. 물체. 이 객체는 위치가 변경될 때마다 호출됩니다. 다음 코드 조각은 이를 수행하는 방법을 보여줍니다.

private final LocationListener mLocationListener = new LocationListener() {
    @Override
    public void onLocationChanged(Location location) {
        // Your code here to handle the location change
    }
};

위치 업데이트 요청

LocationListener를 정의한 후에는 LocationManager에서 위치 업데이트를 요청해야 합니다. . 다음 코드 조각은 GPS 공급자에게 업데이트를 요청하는 방법을 보여줍니다.

mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, LOCATION_REFRESH_TIME,
LOCATION_REFRESH_DISTANCE, mLocationListener);

마찬가지로 NETWORK 공급자에게 업데이트를 요청하려면 다음 코드를 사용합니다.

mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, LOCATION_REFRESH_TIME,
LOCATION_REFRESH_DISTANCE, mLocationListener);

권한 선언

적절한 권한을 선언하는 것을 잊지 마세요. AndroidManifest.xml 파일입니다. NETWORK 공급자를 사용하려면 다음 권한이 필요합니다.

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

결론

LocationListener를 정의하고 NETWORK 공급자에게 위치 업데이트를 요청하면 이제 다음을 수행할 수 있습니다. Android 애플리케이션에서 NETWORK 공급자를 사용하여 현재 위치를 성공적으로 검색합니다.

위 내용은 내 Android 앱이 네트워크 공급자를 사용하여 위치를 업데이트하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.