ContactList
provides access to the Phonebook on-device
database but the current S60 implementation does not provide access to SIM
contacts. The supported Contact
fields and their attribute
combinations are specified in the table below:
PIM API Field |
PIM API Attributes |
Corresponding Phonebook Field |
---|---|---|
|
|
Name |
|
|
Name (See element table) |
|
|
Nick name |
|
|
Company |
|
|
Job title |
|
|
Address (See element table) |
|
|
Address (home) |
|
|
Address (business) |
|
|
Telephone |
|
|
Telephone (home) |
|
|
Telephone (business) |
|
|
Mobile |
|
|
Mobile (home) |
|
|
Mobile (business) |
|
|
Fax |
|
|
Fax (home) |
|
|
Fax (business) |
|
|
Pager |
|
|
Assistant phone |
|
|
Car phone |
|
|
Default SMS number |
|
|
N/A |
|
|
|
|
|
E-mail (home) |
|
|
E-mail (business) |
|
|
Birthday |
|
|
URL |
|
|
URL (home) |
|
|
URL (business) |
|
|
Note |
|
|
Photo |
|
|
Synchronization |
|
|
(Internal unique identifier) |
|
|
(Internal last modification date) |
*) The values set in the Contact.FORMATTED_NAME
field
through the API are not written to the database. The value in the Contact.FORMATTED_NAME
field
is set by the API from the values in Contact.NAME
string
array field elements whenever a Contact
is committed
or refreshed from the database.
**) New Contact.PHOTO
values may be scaled down
during PIMItem.commit()
to fit in the Phonebook UI.
The PIM API S60 3rd Edition Feature Pack 1 implementation provides access to so called "extended" fields which are not included in the standard PIM API fields. The extended fields are the following:
PIM API Field |
Numeric extended field ID |
PIM API Attributes |
Corresponding Phonebook Field |
---|---|---|---|
|
0x1005001 |
|
No correspondence shown in the native side |
|
0x1005002 |
|
SIP |
|
0x1005003 |
|
DTMF |
|
0x1005004 |
|
Department |
|
0x1005005 |
|
Assistant name |
|
0x1005006 |
|
Children |
|
0x1005007 |
|
Spouse |
|
0x1005008 |
|
Anniversary |
|
0x1005009 |
|
Tel. Internet |
|
0x1005009 |
|
Tel. Internet (home) |
|
0x1005009 |
|
Tel. Internet (work) |
|
(This is a standard PIM API field) |
|
Video number |
|
(This is a standard PIM API field) |
|
Video number (home) |
(from S60 5th Edition) |
0x100500A |
|
Push to Talk |
(from S60 5th Edition) |
0x100500B |
|
Share View |
*) The Contact.TEL
field has a specific extended
attribute for Video number, which extends the functionality of the standard Telephone
number
field. The Video call attribute is not a standard Contact.TEL
field
attribute, and therefore it does not have its own constant defined. See the
table below about extended attributes.
The PIM API S60 3rd Edition Feature Pack 1 includes new extended attributes which do not have specific constants defined, so they must be used with certain identifiers. The new extended attributes are listed in the following table:
Extended attribute |
Numeric attribute ID |
Note |
---|---|---|
|
0x1000000 |
|
The supported Contact.NAME
string array elements
are the following:
Contact.NAME element |
Corresponding Phonebook field |
---|---|
|
Last name |
|
First name |
|
Middle |
|
Prefix |
|
Suffix |
Last name reading* (element id 5) |
Last name reading |
First name reading* (element id 6) |
First name reading |
*) The Contact.NAME
field has extended string array
elements in S60 3rd Edition Feature Pack 1. These elements are not included
in the standard PIM API string array elements, and therefore they do not have
their own constants defined. These name reading elements correspond to Japanese
name pronunciations which are in accordance to the East Asian system of personal
names.
The supported Contact.ADDR
string array elements
are the following:
Contact.NAME element |
Corresponding Phonebook field |
---|---|
|
P.O. Box |
|
Extension |
|
Street |
|
City |
|
State/province |
|
Postal/ZIP |
|
County/region |
The ContactList
supports an unlimited number of
categories. Categories represent caller groups in the Phonebook.
The ContactList performance is improved in the S60 3rd Edition Feature
Pack 1. The API is improved by loading items partially. Only the essential
fields are loaded from the native database during the initialization when
invocating PIMList.items()
or its variations for the
first time. The initialized fields are Contact.NAME
and Contact.FORMATTED_NAME
.
Care should be taken when other fields are acquired from an item because it
is performance critical.
Invocating PIMList.items( PIMItem aMatchingItem )
causes
the PIM API to load fields which are included in the matching item. The item
is fully loaded when PIMItem.getFields()
has been invocated.
The function should be used only when the whole item needs to be displayed.
Unsupported Contact
fields:
Contact.PUBLIC_KEY
Contact.PHOTO_URL
Contact.PUBLIC_KEY_STRING
Contact.FORMATTED_ADDR