×
Namespaces

Variants
Actions
(Difference between revisions)

Listing installed applications in Symbian Web Runtime

From Nokia Developer Wiki
Jump to: navigation, search
tapla (Talk | contribs)
(New page: __NOTOC__ __NOEDITSECTION__ {{CodeSnippet |id=  |platform=S60 5th Edition |devices=Nokia 5800 XpressMusic |category=Web Runtime (WRT) |subcategory=  |creationdate=Oct 20, 2008 |...)
 
hamishwillee (Talk | contribs)
m (Hamishwillee - Add Abstract. Tidy wiki text)
 
(12 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NOTOC__
+
[[Category:Symbian Web Runtime]][[Category:S60 Platform Services]][[Category:Code Examples]][[Category:General Programming]]
__NOEDITSECTION__
+
{{Abstract|This code snippet demonstrates how to use the AppManager Service API to discover the applications that are installed on the device.}}
  
{{CodeSnippet
+
{{ArticleMetaData <!-- v1.2 -->
|id=&nbsp;
+
|sourcecode= [[Media:WRTStub CS001160.zip]] [[Media:CS001160 Listing installed applications.diff.zip]]
|platform=S60 5th Edition
+
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
|devices=Nokia 5800 XpressMusic
+
|devices= Nokia 5800 XpressMusic
|category=Web Runtime (WRT)
+
|sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
|subcategory=&nbsp;
+
|platform= S60 5th Edition and later
|creationdate=Oct 20, 2008
+
|devicecompatability= <!-- Compatible devices (e.g.: All* (must have GPS) ) -->
|keywords=device.getServiceObject(), Service.AppManager
+
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
 +
|signing= <!-- Empty or one of Self-Signed, DevCert, Manufacturer -->
 +
|capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. -->
 +
|keywords= device.getServiceObject(), Service.AppManager
 +
|language= <!-- Language category code for non-English topics - e.g. Lang-Chinese -->
 +
|translated-by= <!-- [[User:XXXX]] -->
 +
|translated-from-title= <!-- Title only -->
 +
|translated-from-id= <!-- Id of translated revision -->
 +
|review-by= <!-- After re-review: [[User:username]] -->
 +
|review-timestamp= <!-- After re-review: YYYYMMDD -->
 +
|update-by= <!-- After significant update: [[User:username]]-->
 +
|update-timestamp= <!-- After significant update: YYYYMMDD -->
 +
|creationdate= 20081023
 +
|author= [[User:Tapla]]
 +
<!-- The following are not in current metadata -->
 +
|id= CS001160
 
}}
 
}}
 
==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==
 
==Source: widget.xhtml==
Line 39: Line 50:
 
<code javascript>
 
<code javascript>
 
var serviceObj = null;
 
var serviceObj = null;
var criteria = null;
 
  
 
window.onload = init;
 
window.onload = init;
Line 46: Line 56:
 
function init() {
 
function init() {
 
     // Obtain the AppManager service object
 
     // Obtain the AppManager service object
     serviceObj = device.getServiceObject("Service.AppManager", "IAppManager");
+
     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
 
     // We are interested in applications, so let's define the criteria
 
     // respectively
 
     // respectively
     criteria = new Object();
+
     var criteria = new Object();
     criteria.Type = 'Application';
+
     criteria.Type = "Application";
  
 
     // Obtain the list of installed applications
 
     // Obtain the list of installed applications
Line 95: Line 112:
 
The example displays an alphabetically ordered list of installed applications and their UIDs on an HTML page.
 
The example displays an alphabetically ordered list of installed applications and their UIDs on an HTML page.
  
[[Category:Web Runtime (WRT)]]
+
==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 app stubs with logging framework]].

Latest revision as of 08:27, 4 October 2012

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

Article Metadata
Code ExampleTested with
Devices(s): Nokia 5800 XpressMusic
Compatibility
Platform(s): S60 5th Edition and later
Article
Keywords: device.getServiceObject(), Service.AppManager
Created: tapla (23 Oct 2008)
Last edited: hamishwillee (04 Oct 2012)

Contents

[edit] 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>

[edit] 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);
}

[edit] Postconditions

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

[edit] Supplementary material

This page was last modified on 4 October 2012, at 08:27.
97 page views in the last 30 days.
×