2013-07-24 5 views
0

내 앱은 활성화 된 Wi-Fi/3G를 통해 사용자 위치를 차지하지만 휴대 전화 설정에서 응용 프로그램이 내 위치를 알 수 없게하는 옵션이 있습니다.안드로이드 - 위치 서비스, 무선 네트워크 사용 안함

제 질문은 위치를 사용하기 전에이 기능이 활성화/비활성화되어 있는지 어떻게 확인할 수 있습니까? 이 작품

Criteria criteria = new Criteria(); 
criteria.setAccuracy(Criteria.ACCURACY_COARSE); 
String provider = LocationCall.getBestProvider(criteria, true); 
    if (provider == null) { 
     //No internet connection available OR location services has been turned off 
    } 

하지만 난 자신의 위치를 ​​가지고하지 못할 이유를 정확하게 사용자를 말할 수 있어야합니다 :

현재 내가 사용하고 있습니다.


솔루션 :

String provider = LocationCall.getBestProvider(criteria, true); 
    if ("gps".equals(provider) || provider == null) { 
     Toast.makeText(getApplicationContext(), "Use Wireless Networks has been disabled in location settings", Toast.LENGTH_LONG).show(); 
    } 

제공 업체는 GPS와 동일 또는 null 다음 사용자가 사용할 수 있습니다 응용 프로그램이 네트워크를 통해 자신의 위치를 ​​얻을 경우.

+0

AndroidManifest.those에서 위치를 얻으려고하지 말아요에서 모든 권한을 제거하십시오. –

답변

1

Android 위치 서비스에 대한 블로그 게시물을 작성했으며 활성화 된 제공 업체를 확인하고 사용자에게 경고 한 다음 설정 화면으로 이동하여 사용 설정하는 방법에 대한 예제 코드가 포함되어 있습니다. 여기에서 찾을 수 있습니다 : http://www.scotthelme.co.uk/blog/android-location-services/

+0

아래쪽에있는 업데이트를 읽으십시오. 필요한 것입니다. –

+0

내가 찾고있는 것. 감사. –

+0

죽은 링크 : https://scotthelme.co.uk/blog/android-location-services/ – vida

관련 문제