这两天研究通过基站获取位置信息的方式,我用到了比较成熟的方案就是获取手机CellID(小区标示)的方法来获取手机所在的经纬度,具体是方式我上篇文章有些,想了解细节的朋友可以看看。
这两天写了个demo,很奇怪我在自己的WM5PPC上调试通过,都可以取到比较准确的位置信息,结果我老大的手机是cdma的WM6.5,死活去不出来,程序一打开就像死机一样,想关闭也关不了,没办法只能一步步调试代码,结果到RIL_GetCellIDINfo后的waitone上就不动了,最后查了一下结果在初始化RIL的时候没有返回正确的句柄,是没有在前面正确判断是否成功导致程序死等,问题在于为啥这个api没法用?查了很多资料最终得到一个结果,CellID这个方式对于GSM和CDMA都是可用的,所以不是CDMA的问题,而是机器的问题,对于WM的手机,MS规定了RIL的一个标准,没有规定厂商必须实现,所以有些厂商偷懒或者有私心本身没有暴露给我们,气氛!!
最后google查到一个不完全列表:
支持CellID的手机:
- T-Mobile G1
- HP IPAQ hw6900
- HTC 4350
- HTC 8525
- HTC Atlas
- HTC MTeoR
- HTC P3300
- HTC P3450
- HTC P3600
- HTC P3650
- HTC Touch (not supported on some devices)
- HTC Touch Dual
- HTC Touch Diamond (only works in IE Mobile)
- HTC TyTN
- HTC TyTN II
- o2 XDA Orbit
- Palm Treo 750
- Samsung Blackjack II
- Samsung i780
- Samsung SCH i760
支持 GPS, 但不支持cell ID:
- HTC Mogul on Sprint (users can enable GPS with a firmware upgrade*)
- Motorola Q9.
不支持cell ID.
- Cingular 3125
- HTC 8900
- HTC Apache
- HTC Dash
- HTC Juno
- HTC MP6900SP
- HTC X7500
- Motorola Q
- Palm Treo 700
- Pantech Duo
- Samsung Blackjack (version I only)
- Verizon SCH-i760
- Verizon XV6700
- Verizon VX6800
上面这个列表希望对你有用,我在网上也查到了其他的方法,我这样天在验证一下,具体的逻辑是直接去读某段内存地址
直接读取CellID,如果成功我这里会给大家分享出来:)
by wangweixing2000 2009-06-15 21:46:29