2013-05-20 2 views
1

나는 그들이 연결된 셀 타워의 위도/경도를 수집 할 CDMA 휴대폰 용 안드로이드 앱을 개발 중입니다.getBaseStationLatitude()/Longitude()를 사용하여 CDMA android phone 용 셀 타워 위치

처음 :이게 가능합니까?

두 번째 : 이전에 "CellLocation.requestLocationUpdate();"를 추가하는 것으로 표시된 posts을 살펴 봤습니다. 그러나 아무런 효과가 없었습니다. 여기에 내가 위치를 검색하기 위해 노력하고있어 코드의 부분 ... CdmaCellLocation 클래스 the code 보면

CdmaCellLocation CdmaLocation = (CdmaCellLocation)telephonyManager.getCellLocation(); 
int Longitude = CdmaLocation.getBaseStationLongitude(); 
int Latitude = CdmaLocation.getBaseStationLatitude(); 

그 값에 Integer.MAX_VALUE이 기본값 것을 알이다, 그러나 당신은 어떻게 실제로 위도를 설정합니까 경도?

+0

'getCellLocation'을'CdmaCellLocation'으로 캐스팅하기 전에'telephonyManager.getPhoneType()'으로 폰 타입을 확인하고'telephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA' 만 Cdma로 캐스팅하십시오. 'TelephonyManager.PHONE_TYPE_GSM'을 얻으려면'GsmCellLocation'으로 변환해야합니다. 전화 종류가 cdma가 아니기 때문에 당신이 이상한 정수를 얻는다고 생각합니다. –

+0

방금 ​​코드에 추가하려고 시도했지만 불행히도 문제가 해결되지 않았습니다. 아마 내가 이미 CDMA 전화로 테스트 중이라고 언급 했어야합니다. 빠른 응답 주셔서 감사합니다. – miriye

답변

1

당신은 onCellInfoChanged(List) 및 콜백 가능 LISTEN_SIGNAL_STRENGHTSonSignalStrengthsChanged(Signal Strength)

받고 종료하는 PhoneStateListener에서 변경 알림 사용 콜백 기능을 LISTEN_CELL_LOCATIONPhoneStateListener와 해당 콜백 함수 onCellLocationChanged(CellLocation)LISTEN_CELL_INFO를 사용할 필요가 LISTEN_NONE

http://www.truiton.com/2014/08/android-phonestatelistener-example/

https://developer.android.com/reference/android/telephony/PhoneStateListener.html