×
Namespaces

Variants
Actions
Revision as of 07:40, 1 August 2012 by hamishwillee (Talk | contribs)

Modifying phone number blocks further phone calls with platformRequest("tel:") (Known Issue)

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Tested with
Devices(s): N79, N81 8GB, N95, E71, Nokia 5730 XpressMusic, Nokia 5800 XpressMusic, Nokia 6110 Navigator
Compatibility
Platform(s): S60 3rd Edition (initial release), FP1, FP2
S60 5th Edition
S60 5th Edition
S60 3rd Edition FP2
S60 3rd Edition FP1
S60 3rd Edition (initial release)
MIDP 2.1
MIDP 2.0
Article
Keywords: MIDlet.platformRequest("tel:")
Created: User:Kbwiki (02 Sep 2009)
Last edited: hamishwillee (01 Aug 2012)

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());
}
}
 
}
  1. 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.
  2. End the call before the call is connected at the other end.
  3. Repeat steps 1 and 2 a couple of times.
  4. 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.

44 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×