Modifying phone number blocks further phone calls with platformRequest("tel:") (Known Issue)
Article Metadata
Tested with
Compatibility
S60 5th Edition
Article
Contents |
Overview
Modifying a phone number blocks further phone calls with platformRequest("tel:").
Description
After making a phone call by using platformRequest("tel:") and quitting the call before it connects, if the phone number is modified, the application which uses the method blocks further calls. In addition, with certain affected devices, the user cannot relaunch and/or remove the application after the blocking.
How to reproduce
For testing, implement a test MIDlet using the following code:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class CallTest extends MIDlet implements CommandListener {
Form callForm ;
TextField textBox;
public CallTest(){
callForm = new Form("Call Testing");
callForm.addCommand(new Command("CallTest",Command.OK,2));
callForm.setCommandListener(this);
textBox = new TextField("Phone No.","",32,TextField.PHONENUMBER);
callForm.append(textBox);
Display display = Display.getDisplay(this);
display.setCurrent(callForm);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
}
public void commandAction(Command arg0, Displayable arg1) {
try {
String phoneNo = textBox.getString();
this.platformRequest("tel:"+phoneNo);
} catch (Exception e) {
e.printStackTrace();
textBox.setString(e.getMessage());
}
}
}
- Make a platform request with a number including the country code. For example in Finland, enter +35850123456 in the TextField, press CallTest, and when the user is asked about making the call select Yes and Voice call.
- End the call before the call is connected at the other end.
- Repeat steps 1 and 2 a couple of times.
- Make a platform request without the country code, for example in Finland 050123456.
For the affected devices, the test application cannot make new phone calls with the modified phone number as defined in step 4. Some devices require only steps 1, 2 and 4 to reproduce the problem successfully (repeating as defined in step 3 is not necessarily required), and some require making several tests with the steps in the following order: 1, 2, 4, 2, 1.
In addition, after succesful reproduction of the issue, certain devices cannot relaunch and/or remove the test application.
Solution
This issue has been fixed starting from S60 3rd Edition, Feature Pack 2. This issue still exists in the first firmware releases of S60 5th Edition.
For other affected devices: if possible, try to keep the text strings inserted in TextField within a fixed length. For example here, after editing the first test number of +35850123456 to 050123456, place a couple of space presses (using the 0 key) in front of the edited number to match the missing three characters of the original number.

