2012-04-14 3 views
11

NETWORK_PROVIDER을 사용하여 latitudelongitude을 얻습니다.isProviderEnabled (LocationManager.NETWORK_PROVIDER) return false

이미 "위치 & 보안"에서 설정을 확인하고 "무선 네트워크 사용"을 사용하도록 설정합니다. 그러나 "isProviderEnabled(LocationManager.NETWORK_PROVIDER)"은 항상 false을 반환합니다.

아무도 도와 줄 수 있습니까? 미리 감사드립니다.

LocationManager locManager=(LocationManager) getSystemService(Context.LOCATION_SERVICE); 
boolean isEnableGPS=locManager.isProviderEnabled(LocationManager.GPS_PROVIDER); 
boolean isEnableNTW=locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); 
Log.d(TAG, isEnableGPS+", "+isEnableNTW); 

액세스권 AndroidMainfest.xml

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
+2

당신이 에뮬레이터에서 테스트를 설명? 그렇다면 작동하지 않을 것입니다. – Asdfg

+0

오, 내가 말하기 깜빡 ... 내 휴대 전화를 사용합니다. – shell

+0

같음 isGPSEnabled = this.myLocationManager.isProviderEnabled (LocationManager.GPS_PROVIDER); 항상 false를 반환합니다. – Rohit

답변

12

에서 확인하십시오 네트워크 기반의 위치는 휴대 전화의 설정에서 활성화되어 있는지 확인합니다 :

여기 내 코드입니다. 이 상황을 감지하고 사용자가 정말로 필요로 할 경우이를 활성화하도록 사용자에게 프롬프트 할 수 있습니다.

저는 이것이이 활동을 시작하는 코드 줄이라고 생각합니다.

activity.startActivity(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); 

ACTION_LOCATION_SOURCE_SETTINGS

이 문서에서는 http://emobiledude.com/fix-waiting-for-location-in-google-maps-after-android-4-2-update/

Android 4.0 Location Access Settings

관련 문제