隨筆-60  評論-138  文章-1  trackbacks-0
          本篇是本人收集到的怎么獲取手機的Imei和cellid的總結(jié),由于這兩個屬性是每個廠商自己實現(xiàn),故而沒有統(tǒng)一的方法。本人收集的也不全,測試亦是不全面。放置一篇文章在這里,希望有興趣的人多多補充。

          資料來源如下:
          http://web.mit.edu/21w.780/www/spring2007/guide/
          http://wiki.forum.nokia.com/index.php/CS000947_-_Getting_Cell_ID_in_Java_ME
          http://forums.sun.com/thread.jspa?threadID=5278668
          https://developer.sonyericsson.com/message/110949

          測試代碼如下,當中使用了polish做適配:

          package study;

          import javax.microedition.lcdui.Command;
          import javax.microedition.lcdui.CommandListener;
          import javax.microedition.lcdui.Display;
          import javax.microedition.lcdui.Displayable;
          import javax.microedition.midlet.MIDlet;
          import javax.microedition.midlet.MIDletStateChangeException;

          import de.enough.polish.ui.Form;

          /**
           * 
           * 
          @author: zhanghongzhi lanfanss@126.com
           * 
          @version: 0.1
           * @time: 2008-8-10 下午01:56:17
           * 
           
          */
          public class GetIMEIAndCellId extends MIDlet implements CommandListener {
              
          private Command exitCommand = new Command("exit", Command.EXIT, 1);

              Form form 
          = new Form("imei and cellid");
              Display display 
          = null;

              
          public GetIMEIAndCellId() {
                  display 
          = Display.getDisplay(this);

              }

              
          protected void destroyApp(boolean arg0) {

              }

              
          protected void pauseApp() {

              }

              
          protected void startApp() throws MIDletStateChangeException {
                  
          //獲取系統(tǒng)信息
                  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");
                  }

                  
          //展示出來
                  form.append("platforminfo:" + info);
                  form.append(
          "imei:" + imei);
                  form.append(
          "cellid:" + cellid);
                  form.setCommandListener(
          this);
                  form.addCommand(exitCommand);
                  display.setCurrent(form);
              }

              
          public void commandAction(Command cmd, Displayable item) {
                  
          if (cmd == exitCommand) {
                      destroyApp(
          false);
                      notifyDestroyed();
                  }
              }

          }

          目前我手機的測試結(jié)果如下,希望大家能夠補充測試結(jié)果或者指出文中紕漏之處:
          夏普-sh9010c:不能夠獲取
          sonyericsson:
               c702,k818c:能夠獲取imei及cellid

          posted on 2008-08-11 16:52 張氏兄弟 閱讀(4751) 評論(1)  編輯  收藏 所屬分類: 手機地圖

          評論:
          # re: 探討:通過j2me獲取手機imei號碼和cellid(基站號) 2009-03-10 22:25 | leelight
          cellid = System.getProperty("com.nokia.mid.cellid");
          cellid = System.getProperty("Cell-ID");

          nokia自己的手機都不支持,測試過s40,s60
          c702 沒問題
          還有各種手機,cellid獲取也沒個標準  回復(fù)  更多評論
            
          主站蜘蛛池模板: 安图县| 无棣县| 韩城市| 成武县| 铜陵市| 山东| 柳州市| 海伦市| 万源市| 林西县| 将乐县| 布拖县| 四会市| 毕节市| 阳高县| 客服| 康乐县| 翁源县| 依安县| 沿河| 鹤山市| 长汀县| 五原县| 大足县| 鸡西市| 德昌县| 榆树市| 祁阳县| 屏东县| 竹溪县| 吉木萨尔县| 浑源县| 广丰县| 福泉市| 镇江市| 永春县| 荆门市| 县级市| 清镇市| 天柱县| 东兴市|