×
Namespaces

Variants
Actions
(Difference between revisions)

Listing installed applications in Symbian Web Runtime

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Automated change of category from Web Runtime (WRT) to Symbian Web Runtime)
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot change of template (Template:CodeSnippet) - now using Template:ArticleMetaData)
Line 2: Line 2:
 
__NOEDITSECTION__
 
__NOEDITSECTION__
 
{{KBCS}}
 
{{KBCS}}
{{CodeSnippet
+
{{ArticleMetaData
 
|id=CS001160
 
|id=CS001160
 
|platform=S60 5th Edition
 
|platform=S60 5th Edition
Line 10: Line 10:
 
|creationdate=October 30, 2008
 
|creationdate=October 30, 2008
 
|keywords=device.getServiceObject(), Service.AppManager
 
|keywords=device.getServiceObject(), Service.AppManager
 +
 +
|sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) -->
 +
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
 +
|sdk=<!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
 +
|devicecompatability=<!-- Compatible devices (e.g.: All* (must have GPS) ) -->
 +
|signing=<!-- Empty or one of Self-Signed, DevCert, Manufacturer -->
 +
|capabilities=<!-- Capabilities required (e.g. Location, NetworkServices. -->)
 +
|author=[[User:Tapla]]
 
}}
 
}}
  

Revision as of 11:36, 24 June 2011


Template:KBCS

Article Metadata
Tested with
Devices(s): Nokia 5800 XpressMusic
Compatibility
Platform(s): S60 5th Edition
Platform Security
Capabilities: )
Article
Keywords: device.getServiceObject(), Service.AppManager
Created: tapla (30 Oct 2008)
Last edited: hamishwillee (24 Jun 2011)

Overview

This code snippet demonstrates how to use the AppManager Service API to discover the applications that are installed on the device.

Source: widget.xhtml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" src="script.js" />
<title>WRT Application</title>
</head>
<body>
<div id="bodyContent" class="bodyContent">
</div>
</body>
</html>

Source: script.js

var serviceObj = null;
 
window.onload = init;
 
// Initializes the widget
function init() {
// Obtain the AppManager service object
try {
serviceObj = device.getServiceObject("Service.AppManager",
"IAppManager");
} catch (ex) {
alert("Service object cannot be found.");
return;
}
 
// We are interested in applications, so let's define the criteria
// respectively
var criteria = new Object();
criteria.Type = "Application";
 
// Obtain the list of installed applications
var result = serviceObj.IAppManager.GetList(criteria);
var appList = createAppList(result.ReturnValue);
appList.sort();
displayList(appList);
}
 
// Creates the list of installed applications
function createAppList(iterator) {
var list = new Array();
try {
iterator.reset();
var item;
while ((item = iterator.getNext()) != undefined) {
var txt = "";
txt += item.Caption + " (";
txt += item.Uid + ")";
list.push(txt);
}
} catch (ex) {
alert(ex);
}
return list;
}
 
// Displays a list on the screen
function displayList(list) {
var listElement = document.createElement("ol");
for (var i = 0; i < list.length; i++) {
var listItemElement = document.createElement("li");
var textElement = document.createTextNode(list[i]);
listItemElement.appendChild(textElement);
listElement.appendChild(listItemElement);
}
var bodyContentElement = document.getElementById("bodyContent");
bodyContentElement.appendChild(listElement);
}

Postconditions

The example displays an alphabetically ordered list of installed applications and their UIDs on an HTML page.

Supplementary material

  • You can test the application listing features in action in a simple, executable application into which this code snippet has been patched. The application is available for download at: Media:WRTStub_CS001160.zip
  • You can examine all the changes that are required to implement the above mentioned features in an application. The changes are provided in unified diff and color-coded diff formats: Media:CS001160_Listing_installed_applications.diff.zip
  • For general information on applying the patch, see Using Diffs.
  • For unpatched stub applications, see Example stub.
116 page views in the last 30 days.
×