我正在为CDMA手机开发一款Android应用程序,它将收集他们所连接的手机信号塔的纬度/经度。
首先:这甚至可能吗?
第二:我看过之前的posts,只是添加了“CellLocation.requestLocationUpdate();”但它没有任何效果。这是我正在尝试检索位置的代码部分......
CdmaCellLocation CdmaLocation = (CdmaCellLocation)telephonyManager.getCellLocation();
int Longitude = CdmaLocation.getBaseStationLongitude();
int Latitude = CdmaLocation.getBaseStationLatitude();
查看the code的CdmaCellLocation类会发现这些值默认为Integer.MAX_VALUE,但您如何实际设置纬度和经度?
答案 0 :(得分:1)
您必须使用PhoneStateListener
与LISTEN_CELL_LOCATION
以及相应的回调函数onCellLocationChanged(CellLocation)
和LISTEN_CELL_INFO
与回调函数onCellInfoChanged(List)
和可能LISTEN_SIGNAL_STRENGHTS
一起使用回调onSignalStrengthsChanged(Signal Strength)
退出从PhoneStateListener获取更改通知使用LISTEN_NONE
http://www.truiton.com/2014/08/android-phonestatelistener-example/
https://developer.android.com/reference/android/telephony/PhoneStateListener.html