Package Manager

The package manager is used to retrieve detailed information on the installed packages on the device. This information includes the package name, label, path to the icon image, version, type, and installed storage.

The main features of the Tizen.Applications.PackageManager class include:

Prerequisites

To enable your application to use the package management functionality:

  1. To use the Tizen.Applications.PackageManager class, the application has to request permission by adding the following privilege to the tizen-manifest.xml file:

    XML
    Copy
    <privileges> <privilege>http://tizen.org/privilege/packagemanager.info</privilege> </privileges>
  2. To use the methods and properties of the Tizen.Applications.PackageManager class, include the Tizen.Applications namespace in your application:

    C#
    Copy
    using Tizen.Applications;

Retrieving All Package Information

To retrieve all package information for installed packages:

  1. Retrieve all package information with the GetPackages() method of the Tizen.Applications.PackageManager class:

    C#
    Copy
    IEnumerable<Package> packageList = PackageManager.GetPackages();
  2. Iterate through the returned list to access information about each Tizen.Applications.Package object:

    C#
    Copy
    foreach (Package package in packageList) { Log.Debug(LogTag, "pkgid: " + package.Id); Log.Debug(LogTag, "label: " + package.Label); Log.Debug(LogTag, "icon: " + package.IconPath); Log.Debug(LogTag, "version: " + package.Version); Log.Debug(LogTag, "type: " + package.PackageType); Log.Debug(LogTag, "storage: " + package.InstalledStorageType); Log.Debug(LogTag, "system: " + package.IsSystemPackage); Log.Debug(LogTag, "removable: " + package.IsRemovable); Log.Debug(LogTag, "preload: " + package.IsPreloaded); }

Retrieving Specific Package Information

To get specific package information:

  1. Retrieve information for a specific package with the GetPackage() method of the Tizen.Applications.PackageManager class:

    C#
    Copy
    Package package = PackageManager.GetPackage("org.tizen.helloworld");
  2. Use the Tizen.Applications.Package object returned by the GetPackage() method to access various package details:

    C#
    Copy
    /// Use package information Log.Debug(LogTag, "pkgid: " + package.Id); Log.Debug(LogTag, "label: " + package.Label); Log.Debug(LogTag, "icon: " + package.IconPath); Log.Debug(LogTag, "version: " + package.Version); Log.Debug(LogTag, "type: " + package.PackageType); Log.Debug(LogTag, "storage: " + package.InstalledStorageType); Log.Debug(LogTag, "system: " + package.IsSystemPackage); Log.Debug(LogTag, "removable: " + package.IsRemovable); Log.Debug(LogTag, "preload: " + package.IsPreloaded);

Monitoring Package Events

To detect package-related events, such as installation, uninstallation, and updates:

  1. Register event handlers for various events of the Tizen.Applications.PackageManager class.

    The following example registers event handlers for package installation, uninstallation, and update events:

    C#
    Copy
    PackageManager.InstallProgressChanged += new System.EventHandler<PackageManagerEventArgs>(InstallEventHandler); PackageManager.UninstallProgressChanged += new System.EventHandler<PackageManagerEventArgs>(UninstallEventHandler); PackageManager.UpdateProgressChanged += new System.EventHandler<PackageManagerEventArgs>(UpdateEventHandler);
  2. Define the event handlers. When the related event occurs, the event handler is triggered and you can get the event details from the Tizen.Applications.PackageManagerEventArgs instance.

    The following example implements the installation event handler:

    C#
    Copy
    void InstallEventHandler(object sender, PackageManagerEventArgs args) { Log.Debug(LogTag, "pkgId: " + args.PackageId); Log.Debug(LogTag, "pkgType:" + args.PackageType); Log.Debug(LogTag, "progress:" + args.Progress); Log.Debug(LogTag, "eventState:" + args.State); }
  • Dependencies
    • Tizen 4.0 and Higher
Component Manager
Next Widget Control
Submit your feedback to GitHub