The AppManager Service API allows widgets to access and launch applications on a device. You can use the AppManager Service to create widgets that:
Retrieve a list of user-installed applications
Retrieve a list of all applications on the mobile device, regardless of whether they were preinstalled or installed by the user
Launch an application based on an application UID
Launch an application based on a given document or MIME type
The service allows widgets to launch applications as chained (embedded) or stand-alone. This provides the following functionality:
Embedded applications are launched within another application and share the same process. All UI features (such as the options list and icons displayed in the header) belong to the launching application, not the embedded application. For example, embedding the browser to display HTML within an SMS message is a typical use case. In this case, all UI features belong to the messaging application.
Stand-alone applications are independent of other applications - they do not share the same process. Applications can launch other applications as stand-alone, in which case they run as peer applications. For example, launching the browser when a user selects a URL within an SMS message is a typical use case. In this case, the user can swap between the browser and messaging applications.
To create a service
object for the AppManager Service API, use Service.AppManager
to
identify the service provider and IAppManager
to identify
the supported interface:
var so = device.getServiceObject("Service.AppManager", "IAppManager");
The IAppManager
interface provides the following
methods:
Use the GetList()
method to get a list of user-installed
applications or all applications on the mobile device.
Use the LaunchApp()
method to launch
an application based on the application UID. Use GetList()
to
retrieve the correct UID.
Use the LaunchDoc()
method to launch an application
based on a given document or a MIME type.
Use the Cancel()
method to cancel an ongoing asynchronous
call. This method is valid for any asynchronous call made through the AppManager
Service API.