浏览 559 次
|
该帖已经被评为隐藏帖
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-07-19
大家好:
项目中需要加入位置信息,使用了jsr179的位置包。由于目前了解到179只是针对lbs的位置服务,故而向大家询问能不能在j2me中获取到cell id来实现基于基站的位置信息。 需要一个cell id号! 请思考过类似问题的前辈,给一些建议!小可,这里感谢了! 前两天来javaeye,发现自己帖子被弄得隐藏了,可能是因为我在标题前边加了一个 问: 刚才,我发现我不能回复自己的帖子。所以,更改一下,把我现在查到的资料放到这里。 关于怎么获取到手机的cellid和imei号码 //获取系统信息 String info = System.getProperty("microedition.platform"); //获取到imei号码 String imei = ""; //cellid String cellid = ""; //lac String lac = ""; //#if polish.vendor==Sony-Ericsson imei = System.getProperty("com.sonyericsson.imei"); //参考 http://forums.sun.com/thread.jspa?threadID=5278668 //https://developer.sonyericsson.com/message/110949 cellid = System.getProperty("com.sonyericsson.net.cellid"); //获取索爱机子的 lac = System.getProperty("com.sonyericsson.net.lac"); //#else if polish.vendor==Nokia imei = System.getProperty("phone.imei"); if (imei == null || "".equals(imei)) { imei = System.getProperty("com.nokia.IMEI"); } if (imei == null || "".equals(imei)) { imei = System.getProperty("com.nokia.mid.imei"); } //获取到cellid //参考http://wiki.forum.nokia.com/index.php/CS000947_-_Getting_Cell_ID_in_Java_ME //#if polish.group==Series60 cellid = System.getProperty("com.nokia.mid.cellid"); //#else if polish.group==Series40 cellid = System.getProperty("Cell-ID"); //#endif //#else if polish.vendor==Siemens imei = System.getProperty("com.siemens.imei"); //#else if polish.vendor==Motorola imei = System.getProperty("com.motorola.IMEI"); //cellid 参考 http://web.mit.edu/21w.780/www/spring2007/guide/ cellid = System.getProperty("CellID"); //#else if polish.vendor==Samsung imei = System.getProperty("com.samsung.imei"); //#endif if (imei == null || "".equals(imei)) { imei = System.getProperty("IMEI"); } 目前测试结果: 测试手机:索尼爱立信k8181c,c702c,结果,能够获取到 nokia616:获取不到 moto e50 获取不到 由于imei号码和cellid的获取方式,都是和手机厂商有关,所以,我觉得这个问题还是需要大家多多测试,针对不同的手机写出不同的代码。如果大家有什么好的建议,欢迎指教! 最后,评分的仁兄,我是过来想讨论一下问题的,可能对于论坛规则不熟悉,请隐藏我的帖子的时候,留情! 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-07-19
lbs是通过向运营商的lbs网关post一个xml格式的位置请求,可以有同步和异步两种方式返回位置信息
|
|
| 返回顶楼 | |
|
最后更新时间:2008-07-19
在jme中取得cell id,需要手机的profile支持,一般是得不到的,因为程序与手机间隔了KVM一层.原生程序或更底层的有可能.
"现在数据资源已经差不多了...",如你能搞到运营商基站分布的GIS数据,按这关系,你接入他们的LBS应不难吧? |
|
| 返回顶楼 | |
|
最后更新时间:2008-07-20
现在一般的智能手机的无法直接得到位置信息的(LBS),它需要第三方模块的支持,手机可以通过蓝牙和第三方模块进行通信,而第三方模块一般可以直接得到LBS信息的.
那手机和第三方模块通信的是什么呢?使用蓝牙,通过COM口,可以传递第三方模块得到的位置信息.第三方模块也就几百块钱吧. 还有一种方法,估计要求 助于运营商了,你可以买他们的LBS服务,具体的没有试过. 现在的定位方式一般也就以上这两种. |
|
| 返回顶楼 | |
|
最后更新时间:2008-07-22
我目前认为,可以通过以下方式来获取到位置信息:
1.手机本身支持gps,比如索爱的c702c,w760i 2.通过第三方插件,比如蓝牙通信调用gps接收器(好像是500+以上的价格) 3.通过获取cellid来计算位置 至于和运营商通信获取位置的方式,我也听领导讲解过几句,但是细节不知。 通过查找,在下边的地址发现 http://discussion.forum.nokia.com/forum/showthread.php?t=111134 Hi anvivekkumar, In general, it is not available AFAIK. I've heard that it is possible in some Motorola devices using system.getProperty(”CellID”) but I have not tested it. |
|
| 返回顶楼 | |





