J2ME如何获取手机型号
一般来讲System.getProperty("microedition.platform");这样就可以获取一个字符串,里面包含了你想要的东西,你输出看下。基实不同的机型,获取的方式却不一样:
1、MOTO系列的可以通过读取系统的IMEI属性获得,代码如下:
String imei = System.getProperty("IMEI");
2、SIEMENS系列的可以通过读取系统的com.siemens.IMEI属性获得,代码如下:
String imei = System.getProperty("com.siemens.IMEI");
3、在最新推出的Nokia S40 3rd版本的手机,如Nokia 6280中,将支持在J2ME中直接获得IMEI。
4、在J2ME程序中,你将可以通过获得“com.nokia.mid.imei”系统属性的值来获得手机的IMEI数值。示例代码如下:
String imei = System.getProperty(“com.nokia.mid.imei”); IMEI可以用来唯一标识一部手机。
注意:大部分,如果想使用该功能,你的J2ME程序必须经过数字签名。 PS:经过实践,NOKIA中许多手机经过第三方签名都不能获得
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: chris
* @version: 0.1
*
*/
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 {
//获取系统信息
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");
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
//#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 = 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();
}
}
}