本文介绍如何在j2me平台和wap页面实现电话呼叫的功能。关于wap和j2me的区别并不在讨论范畴,读者可以自行查阅资料。 midp 1.0中没有提供电话呼叫的功能。在midp 2.0中,javax.microedition.midlet.midlet类提供了platformrequest()方法来请求设备来完成特定的请求,请求的内容由platformrequest()方法的string类型的参数url来标识。可能是调用浏览器打开某个特定的wap页面,也可以是呼叫电话。在设备资源可用的时候,系统会把midlet放在后台执行,而把特定的应用程序,例如电话程序或者浏览器放在前台来执行。呼叫电话的时候可以使用如下的形式:
| try{ this.platformrequest("tel:13810000000"); }catch(connectionnotfoundexception ex){ ex.printstacktrace(); } |
| package com.j2medev.call; import javax.microedition.io.connectionnotfoundexception; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; /** * * @author administrator * @version */ public class telemidlet extends midlet implements commandlistener { private display display = null; private list main = null; public void startapp() { if(display == null){ display = display.getdisplay(this); main = new list("测试电话功能", list.implicit); main.append("13810000000", null);//这里的电话号码是虚拟的 main.append("13810000001", null);//这里的电话号码是虚拟的 main.setcommandlistener(this); } display.setcurrent(main); } public void pauseapp() {} public void destroyapp(boolean unconditional) {} public void commandaction(command cmd,displayable displayable){ if(cmd == list.select_command){ string number = main.getstring(main.getselectedindex()); try{ this.platformrequest("tel:"+number); }catch(connectionnotfoundexception ex){ ex.printstacktrace(); } } } } |
| <input name="phone_no" format="*m" value="13"/> <do type="option" label="呼出号"> <go href="wtai://wp/mc;$(phone_no)"/> </do> 或者直接写入电话号码的方式: <a href="wtai://wp/mc;1331597312*">拨打电话</a> |
在midp 2.0和wap平台中都对电话呼叫提供了支持,本文进行了简单的总结,希望对您的实际项目有所帮助。
51cto.com整理
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器