程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> 在J2ME和WAP中實現電話呼叫功能

在J2ME和WAP中實現電話呼叫功能

編輯:J2ME

本文介紹如何在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)上測試通過,成功呼叫了指定的電話。

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函數來呼叫特定的電話號碼,代碼如下所示:

<input name="phone_no" format="*m" value="13"/>
<do type="option" label="呼出號">
<go href="wtai://wp/mc;$(phone_no)"/>
</do><br/>
或者直接寫入電話號碼的方式:
<a href="wtai://wp/mc;1331597312*">撥打電話</a>

在MIDP 2.0和WAP平台中都對電話呼叫提供了支持,本文進行了簡單的總結,希望對您的實際項目有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved