ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [转载]在J2ME和WAP中实现电话呼叫功能

[转载]在J2ME和WAP中实现电话呼叫功能

原创 Linux操作系统 作者:dinner1007 时间:2019-05-21 15:03:05 0 删除 编辑
在J2ME和WAP中实现电话呼叫功能
本文介绍如何在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();
}

这里提供了一个简单的例子,在Nokia 7610(支持MIDP 2.0)上测试通过,成功呼叫了指定的电话。

/*
* TeleMIDlet.java
*
* Created on 2005年12月15日, 下午9:56
*/

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();
}
}
}
}

相比J2ME技术,WAP更类似于Web,是一种服务器端为主的技术。在WML中可以调用设备的WTAI函数来呼叫特定的电话号码,代码如下所示:





或者直接写入电话号码的方式:
拨打电话

在MIDP 2.0和WAP平台中都对电话呼叫提供了支持,本文进行了简单的总结,希望对您的实际项目有所帮助。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/374079/viewspace-131634/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-08-23

  • 博文量
    1347
  • 访问量
    995129