Making a phone call programmatically using platformRequest() in Java ME
m (Mtilli -) |
m (Mtilli -) |
||
| Line 49: | Line 49: | ||
private Command exitCommand; | private Command exitCommand; | ||
private Form mainForm; | private Form mainForm; | ||
| + | |||
// The phone number to call | // The phone number to call | ||
private final String PHONE_NUMBER = "123456789"; | private final String PHONE_NUMBER = "123456789"; | ||
| − | + | ||
/** | /** | ||
* Constructor. Constructs the object and initializes displayables. | * Constructor. Constructs the object and initializes displayables. | ||
| Line 57: | Line 58: | ||
public ExampleMIDlet() { | public ExampleMIDlet() { | ||
mainForm = new Form("ExampleMIDlet"); | mainForm = new Form("ExampleMIDlet"); | ||
| − | + | ||
callCommand = new Command("Call", Command.SCREEN, 0); | callCommand = new Command("Call", Command.SCREEN, 0); | ||
mainForm.addCommand(callCommand); | mainForm.addCommand(callCommand); | ||
| − | + | ||
exitCommand = new Command("Exit", Command.EXIT, 0); | exitCommand = new Command("Exit", Command.EXIT, 0); | ||
mainForm.addCommand(exitCommand); | mainForm.addCommand(exitCommand); | ||
| − | + | ||
mainForm.setCommandListener(this); | mainForm.setCommandListener(this); | ||
} | } | ||
| − | + | ||
/** | /** | ||
* Calls the specified number. | * Calls the specified number. | ||
| Line 74: | Line 75: | ||
platformRequest("tel:" + number); | platformRequest("tel:" + number); | ||
} catch (ConnectionNotFoundException ex) { | } catch (ConnectionNotFoundException ex) { | ||
| − | + | System.out.println(ex.getMessage()); | |
} | } | ||
} | } | ||
| − | + | ||
/** | /** | ||
* Called when the MIDlet is started. | * Called when the MIDlet is started. | ||
| Line 83: | Line 84: | ||
public void startApp() { | public void startApp() { | ||
Display.getDisplay(this).setCurrent(mainForm); | Display.getDisplay(this).setCurrent(mainForm); | ||
| + | } | ||
| + | |||
| + | /** | ||
| + | * Called when MIDlet is paused. | ||
| + | */ | ||
| + | public void pauseApp() { | ||
} | } | ||
| − | / | + | /** |
| − | + | * Called to signal the MIDlet to terminate. | |
| − | + | * | |
| + | * @param unconditional if true, then the MIDlet has to be unconditionally | ||
| + | * terminated and all resources has to be released. | ||
| + | */ | ||
| + | public void destroyApp(boolean unconditional) { | ||
| + | } | ||
| + | |||
/** | /** | ||
* From CommandListener. | * From CommandListener. | ||
| Line 104: | Line 117: | ||
} | } | ||
} | } | ||
| + | } | ||
</code> | </code> | ||
Revision as of 11:29, 3 July 2012
Archived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.
Article Metadata
Code Example
Source file: Media:MakingPhoneCall-Java.zip
Tested with
Devices(s): Nokia N95 8GB
Compatibility
Platform(s): S60 3rd Edition, FP1
Article
Keywords: javax.microedition.midlet.MIDlet.platformRequest()
Created: tapla
(07 May 2008)
Last edited: mtilli
(03 Jul 2012)
Contents |
Overview
This snippet demonstrates how to make a phone call by using a platform request. The MIDlet constructs a menu item through which the user can call the specified number. After the platform request has been made, the user is prompted whether he or she wants to make a voice call, a video call, or an Internet call.
Source
import javax.microedition.io.ConnectionNotFoundException;
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.midlet.MIDlet;
public class ExampleMIDlet extends MIDlet implements CommandListener {
private Command callCommand;
private Command exitCommand;
private Form mainForm;
// The phone number to call
private final String PHONE_NUMBER = "123456789";
/**
* Constructor. Constructs the object and initializes displayables.
*/
public ExampleMIDlet() {
mainForm = new Form("ExampleMIDlet");
callCommand = new Command("Call", Command.SCREEN, 0);
mainForm.addCommand(callCommand);
exitCommand = new Command("Exit", Command.EXIT, 0);
mainForm.addCommand(exitCommand);
mainForm.setCommandListener(this);
}
/**
* Calls the specified number.
*/
private void call(String number) {
try {
platformRequest("tel:" + number);
} catch (ConnectionNotFoundException ex) {
System.out.println(ex.getMessage());
}
}
/**
* Called when the MIDlet is started.
*/
public void startApp() {
Display.getDisplay(this).setCurrent(mainForm);
}
/**
* Called when MIDlet is paused.
*/
public void pauseApp() {
}
/**
* Called to signal the MIDlet to terminate.
*
* @param unconditional if true, then the MIDlet has to be unconditionally
* terminated and all resources has to be released.
*/
public void destroyApp(boolean unconditional) {
}
/**
* From CommandListener.
* Called by the system to indicate that a command has been invoked on a
* particular displayable.
* @param command the command that was invoked
* @param displayable the displayable where the command was invoked
*/
public void commandAction(Command command, Displayable displayable) {
if (command == callCommand) {
call(PHONE_NUMBER);
} else if (command == exitCommand) {
// Exit the MIDlet
destroyApp(true);
notifyDestroyed();
}
}
}
Postconditions
The user can select Call to call the specified number. He or she may also select whether the call should be a voice call, a video call, or an Internet call.

