Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries. Thanks for all your past and future contributions.

Revision as of 06:59, 5 October 2012 by hamishwillee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Adding contact in Symbian Web Runtime

From Wiki
Jump to: navigation, search

This code example shows how to add contacts to the device's default phone book in Symbian Web Runtime.

Article Metadata
Code ExampleTested with
Devices(s): Nokia 5800 XpressMusic
Platform(s): S60 5th Edition
S60 5th Edition
Keywords: device.getServiceObject(), Service.Contact.Add()
Created: MiGryz (10 Dec 2008)
Last edited: hamishwillee (05 Oct 2012)



The example uses the Contact Platform Service, introduced in S60 5th Edition.

To obtain access to the service object for the Contact Service API, the device.getServiceObject("Service.Contact", "IDataSource") method is used.

After setting the correct values for the criteria object (criteria.Type and criteria.Data), the IDataSource.Add(criteria) method is used to add the new contact.

Source: phonebook.html

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
<html xmlns="">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" src="phonebook.js" />
<body onload="init()">
<div id="inputdata">
First Name: <input id="firstname" type="text"></input><br />
Last Name: <input id="lastname" type="text"></input><br />
Phone number: <input id="phonenumber" type="text"></input><br />
E-Mail: <input id="email" type="text"></input><br />
<input type="button" value="Add" onclick="doSave();" />

Source: phonebook.js

// contacts system service object
var phonebook;
* Setting default data on application load

function init() {
// getting contacts system service object
try {
phonebook = device.getServiceObject("Service.Contact", "IDataSource");
} catch(err) {
alert( "No Contact service available" );
* function adds an item to the default phonebook

function doSave() {
// Criteria object for adding contacts
var criteria = new Object();
criteria.Type = 'Contact';
criteria.Data = new Object();
// demanding first name, but that is not essential
if(document.getElementById('firstname').value == "") {
alert("You should input firstname");
// adding First Name parameter to new item
criteria.Data.FirstName = new Object();
criteria.Data.FirstName.Value =
// adding other parameters if present
if(document.getElementById('lastname').value != "") {
criteria.Data.LastName = new Object();
criteria.Data.LastName.Value =
if(document.getElementById('phonenumber').value != "") {
criteria.Data.MobilePhoneGen = new Object();
criteria.Data.MobilePhoneGen.Value =
if(document.getElementById('email').value != "") {
criteria.Data.EmailGen = new Object();
criteria.Data.EmailGen.Value =
var result = 0;
try {
result = phonebook.IDataSource.Add(criteria);
} catch(err) {
alert( "error saving data" );
if(result.ErrorCode != 0) {


  • Filling in the fields and selecting "Add" will add a new item to the default phone book.

Supplementary material

You can view the source file and executable application in the attached ZIP archive. The archive is available for download at Media:Adding contact in

See also

This page was last modified on 5 October 2012, at 06:59.
65 page views in the last 30 days.