作者:hunhun1981
出自:http://blog.csdn.net/hunhun1981/
MIDP2.0中有一个非常有用的platformRequest函数。我们可以用它来调用手机自带浏览器访问指定的url,或者也可以用来拨叫指定的电话号码(详情请参考WTK的文档)。
之所以写这个测试,是因为很多国产或者中小厂商的手机对MIDP2.0规范支持得并不准确。有的不能调浏览器,有的则不能打电话。还有的则是电话号码中不能支持用P直拨分机号(88888888P666,就是拨打88888888的666分机)。
具体测试时,大家可以将TextField修改为自己想要测试的内容。
import
javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
public class BrowserMIDlet extends MIDlet implements CommandListener {
private Form form;
private Command cmdOK;
private Command cmdEXIT;
private TextField url;
public BrowserMIDlet() {
form = new Form( " Browser " );
cmdOK = new Command( " go " , Command.OK, 0 );
cmdEXIT = new Command( " exit " , Command.EXIT, 1 );
form.addCommand(cmdOK);
form.addCommand(cmdEXIT);
form.setCommandListener( this );
url = new TextField( " enter url " , " http://blog.csdn.net/hunhun1981/ " , 256 , TextField.ANY);
form.append(url);
}
public void commandAction(Command c, Displayable d) {
if (d.equals(form)) {
if (c.equals(cmdOK)) {
if (url.size() > 0 ) {
try {
if (platformRequest(url.getString())) {
notifyDestroyed();
}
} catch (Exception e) {
form.append(e.toString());
}
}
} else if (c.equals(cmdEXIT)) {
notifyDestroyed();
}
}
}
protected void destroyApp( boolean arg0) {
}
protected void pauseApp() {
}
protected void startApp() {
Display.getDisplay( this ).setCurrent(form);
}
}
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
public class BrowserMIDlet extends MIDlet implements CommandListener {
private Form form;
private Command cmdOK;
private Command cmdEXIT;
private TextField url;
public BrowserMIDlet() {
form = new Form( " Browser " );
cmdOK = new Command( " go " , Command.OK, 0 );
cmdEXIT = new Command( " exit " , Command.EXIT, 1 );
form.addCommand(cmdOK);
form.addCommand(cmdEXIT);
form.setCommandListener( this );
url = new TextField( " enter url " , " http://blog.csdn.net/hunhun1981/ " , 256 , TextField.ANY);
form.append(url);
}
public void commandAction(Command c, Displayable d) {
if (d.equals(form)) {
if (c.equals(cmdOK)) {
if (url.size() > 0 ) {
try {
if (platformRequest(url.getString())) {
notifyDestroyed();
}
} catch (Exception e) {
form.append(e.toString());
}
}
} else if (c.equals(cmdEXIT)) {
notifyDestroyed();
}
}
}
protected void destroyApp( boolean arg0) {
}
protected void pauseApp() {
}
protected void startApp() {
Display.getDisplay( this ).setCurrent(form);
}
}
更多信息,请关注hunhun1981的专栏 。