在J2ME和WAP中實現撥打電話功能

來源:互聯網
上載者:User
  本文介紹如何在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函數來呼叫特定的電話號碼,代碼如下所示:

<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平台中都對撥打電話提供了支援,本文進行了簡單的總結,希望對您的實際項目有所協助。

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。