위치 수정 프로그램을 다운로드 할 때 Android LocationManager가 때때로 멀티 메가 바이트의 인터넷 데이터를 사용합니까? 그렇다면 어떤 상황에서? LocationManager를 사용하는 앱에 인터넷에 액세스 할 수있는 명시적인 권한이없는 경우에도 문제가 발생합니까?Android LocationManager의 인터넷 데이터 사용
최근 안드로이드 4.0.4에서 삼성 갤럭시 노트의 설정 -> "데이터 사용"화면에서보고 한 "안드로이드 OS"에서 사용하는 인터넷 데이터가 때때로 10 메가 바이트 또는 하루 더. 실험을 통해이 데이터 사용은 필자가 작성한 앱을 실행하고 위치 관리자가 제공 한 GPS 위치 데이터를 사용할 때만 발생합니다. 이 앱이 실행되지 않을 때 "Android OS"는 하루에 수 킬로바이트의 데이터 만 사용합니다.
앱의 매니페스트에서 유일한 사용 권한은 "android.permission.ACCESS_FINE_LOCATION"및 "android.permission.WRITE_EXTERNAL_STORAGE"입니다. 인터넷에 접속할 수있는 권한이 없습니다.
활동의 ONSTART() 메소드는 코드를 포함하는 다음 ignoreGPS 플래그를 끌 때
if (!mapview .ignoreGPS) {
lm.requestLocationUpdates(LocationManager. GPS_PROVIDER , gpsMinTime , gpsMinDistance , this);
}
비슷한 코드가 호출됩니다.
또한 코드를 포함하는 gotoLastLocation() 메소드가 다음 ignoreGPS 플래그가 오프 토글이 메소드는 드물게라고하지
Location l = lm.getLastKnownLocation(LocationManager. GPS_PROVIDER);
if (l == null) {
l = lm .getLastKnownLocation(LocationManager. NETWORK_PROVIDER);
}
, 또는 사용자가 마지막으로 이동하는 메뉴 옵션을 선택하면 알려진 위치.
거의 호출되지 않는 메서드 외에도 "NETWORK_PROVIDER"에 대한 참조가 없습니다.
GPS_PROVIDER는 기본적으로 "보조 GPS"를 사용합니까? 그렇다면 다중 메가 바이트 데이터를 사용할 수 있습니까? 인터넷 사용 권한이없는 경우에도?
GPS_PROVIDER가 GPS 신호에서 수정 사항을 가져올 수없는 경우 LocationManager는 기본적으로 휴대 전화 네트워크를 사용합니까? 앱에 네트워크 권한이없는 경우에도? 이것은 인터넷 데이터 액세스로 전화 공급자에 의해 계산됩니까?
[이] (http://developer.android.com/training/efficient-downloads/ index.html)은 귀하의 이익과 관련이 있습니다. – Josh
고마워요, 조쉬, 제안을 위해,하지만 저에게 도움이되는 것을 볼 수 없습니다. 내가 놓친 게 있니? 내 앱은 인터넷에 액세스 할 수있는 권한이 없으며 명시 적 다운로드를 요청하지 않습니다. 그러나 그것은 멀티 메가 바이트의 데이터를 소비하는 것처럼 보입니다 ... 나는 Assisted GPS를 사용해야 만한다고 생각합니다. 내 문제는 이것을 방지하거나 제한하는 방법입니다. – prepbgg