2013-06-09 2 views
3

GPS 신호가 손실되었음을 알 수있는 방법이 있습니까? 나는 GPS 모듈이 활성화/비활성화되어 있는지 여부를 말하고있는 것이 아닙니다. GPS 모듈이 사용 가능하다고 가정하십시오. 하지만 고쳐 졌어?안드로이드에서 GPS 신호를 찾는 방법?

How can I check the current status of the GPS receiver? 링크는 유용하지 않습니다. 사용자가 일정 기간 동안 정지 해있는 경우 ("LocationListener"는 처음 업데이트시 몇 가지 업데이트를받은 후 위치 업데이트 청취를 중단합니다) 해당 솔루션을 사용할 수 없기 때문입니다.

진저 브레드와 달리 Nexus 4 (Jelly Bean 4.2.2 있음)에서 "LocationListener"의 "onStatusChanged"메소드는 더 이상 호출되지 않습니다! 나는 그것이 고정적인지 아닌지에 달려 있는지를 모른다. 그러나 그것은 나를 위해 다시는 의미하지 않습니다.

반면에 My API는 API 10을 통해 컴파일되지만 그 릴리스에서는 "GPS_FIX_CHANGE"라는 액션이 ​​그 당시 "LocationManager"클래스에 선언되지 않았습니다.

신호가 손실되어 이벤트가 발생했다는 알림을 내 앱에 보내려면 어떻게해야합니까?

친절 감사

답변

1

안드로이드와 아이폰 모두 독립은 아직도 당신이 설명 된 바와 같이, 여전히 서 때 위치 업데이트를 얻을 수없는 상황에 이르게 활성화 필터링 할 수 있습니다.
난 그냥 무시하고,받은 각 새 위치에 대한 Location.accuracy 값을 사용하십시오. 그 값이 30m를 초과하면 나쁜 GPS입니다.

서있는 동안 아무 것도하지 않을 수도 있습니다.
이론적으로는 작업에 대한 해답이 있지만 단점이 있습니다.
잠시 동안 새 위치를 얻지 못하면 5 초마다 위치 서비스를 비활성화하고 다시 활성화 할 수 있습니다. 그런 다음 좋은 GPS의 경우 새 좌표를 얻거나 사용할 수있는 GPS 신호가없는 경우 아무 것도 표시하지 않습니다.

+0

예. 처음에는 배터리에 관한 것이 었습니다. 답장을 보내 주셔서 감사합니다. – iliTheFallen

0

나는이 동일한 문제가 발생하여 결론에 도달했습니다. GPS 신호가 손실되면 청취자는 마지막 값 또는 0.0 (경우에 따라)을 반환합니다. 마지막 두 값이 마지막 다섯 번째 십진수와 같으면 신호가 손실됩니다. 실제로 GPS는 같은 값을 가진 연속적인 두 좌표를 절대로주지 않습니다. 그것은 불가능에 가깝기 때문에 (last_coords == new_coords) -> GPS 신호가 손실되면이 경우를 고려하십시오.

+0

언급 된 30m 부분은 매우 정확하지 않습니다. 그것은 GPS 위성을 잃어 버릴 수 있고 정확도는 떨어질 수 있지만 신호를 잃어버린 것은 아닙니다. 정확도는 장치가 얼마나 잘 차폐되어 있는지에 달려 있습니다. – TibiG

관련 문제