原创作者: lang
阅读:6579次
评论:1条
更新时间:2011-05-26
大家好:
项目中需要加入位置信息,使用了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的获取方式,都是和手机厂商有关,所以,我觉得这个问题还是需要大家多多测试,针对不同的手机写出不同的代码。如果大家有什么好的建议,欢迎指教!
最后,评分的仁兄,我是过来想讨论一下问题的,可能对于论坛规则不熟悉,请隐藏我的帖子的时候,留情!
项目中需要加入位置信息,使用了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的获取方式,都是和手机厂商有关,所以,我觉得这个问题还是需要大家多多测试,针对不同的手机写出不同的代码。如果大家有什么好的建议,欢迎指教!
最后,评分的仁兄,我是过来想讨论一下问题的,可能对于论坛规则不熟悉,请隐藏我的帖子的时候,留情!
1 楼 youngplayer 2010-05-27 16:50