Application Manager
PUBLISHED
The application manager provides information about installed and running applications. It provides functions for obtaining the application name and absolute path to share files among all applications.
The main features of the Tizen.Applications.ApplicationManager
class include:
- Managing the application running context
For running applications, you can retrieve the application running context and operate on it. You can manage the application running context with the
Tizen.Applications.ApplicationManager
class. - Getting information on filtered applications
For installed (but not necessarily running) applications, you can retrieve information with the Tizen.Applications.ApplicationInfo [1] class. You can also retrieve information through a filter with the Tizen.Applications.ApplicationInfoFilter [2] class.
- Getting information on the current application
For current applications, you can retrieve information using the Tizen.Applications [3] class. You can use the retrieved information to manage the current application.
Iterator methods are used to travel through a list of applications. The GetRunningApplicationsAsync()
method of the Tizen.Applications.ApplicationManager
class is used for running applications and the GetInstalledApplicationsAsync()
method is used for installed applications.
Prerequisites
To enable your application to use the application management functionality:
- To use the methods and properties of the Tizen.Applications.ApplicationManager [4], Tizen.Applications.ApplicationRunningContext [5], and Tizen.Applications.ApplicationInfo [1] classes, include the Tizen.Applications [6] namespace in your application:
using Tizen.Applications;
- To use the
Resume()
method of theTizen.Applications.ApplicationRunningContext
class, the application has to request permission by adding the following privilege to thetizen-manifest.xml
file:
<privileges> <privilege>http://tizen.org/privilege/appmanager.launch</privilege> </privileges>
Managing Application Running Context
To manage the context of the currently running application, follow these steps:
- Get the context of the currently running application.
To get the context, create an instance of the Tizen.Applications.ApplicationRunningContext [5] class, with the ID of the application from which the context is being obtained as a parameter.
If you do not have the application ID, you can retrieve it as:
string applicationId = ApplicationManager.GetAppId(Your PID);
When an application is not running, it is impossible to get its context:
ApplicationRunningContext appRunningContext = new ApplicationRunningContext(Your App ID);
- Operate on the application context:
- Get the application ID, package ID, and process ID from the context:
string applicationId = appRunningContext.ApplicationId; string packageId = appRunningContext.PackageId; int processId = appRunningContext.ProcessId;
- Check the state of the application:
if (appRunningContext.State == ApplicationRunningContext.AppState.Foreground) /// UI application is running in the foreground else if (appRunningContext.State == ApplicationRunningContext.AppState.Background) /// UI application is running in the background else if (appRunningContext.State == ApplicationRunningContext.AppState.Service) /// Service application is running else if (appRunningContext.State == ApplicationRunningContext.AppState.Terminated) /// Application is terminated else /// State is undefined if (appRunningContext.IsTerminated) { /// Application is not running now }
- Resume the running application:
appRunningContext.Resume();
- Terminate the background application:
appRunningContext.TerminateBackgroundApplication();
- Get the application ID, package ID, and process ID from the context:
Getting Information on Filtered Applications
To get information on filtered applications:
- Create the filter as an instance of the Tizen.Applications.ApplicationInfoFilter [2] class:
ApplicationInfoFilter appInfoFilter = new ApplicationInfoFilter();
- Add filter rules:
appInfoFilter.Filter.Add(ApplicationInfoFilter.Keys.Type, "dotnet");
- Call the
GetInstalledApplicationsAsync()
method of the Tizen.Applications.ApplicationManager [4] class and retrieve all filtered applications and print their information:
IEnumerable<ApplicationInfo> appInfoList = await ApplicationManager.GetInstalledApplicationsAsync(appinfoFilter); foreach (ApplicationInfo appInfo in appInfoList) { Log.Debug("Tag", "applicationId: " + appInfo.ApplicationId); Log.Debug("Tag", "packageId: " + appInfo.PackageId); Log.Debug("Tag", "label: " + appInfo.Label); Log.Debug("Tag", "executablePath: " + appInfo.ExecutablePath); Log.Debug("Tag", "iconPath: " + appInfo.IconPath); Log.Debug("Tag", "applicationType: " + appInfo.ApplicationType); Log.Debug("Tag", "isNoDisplay: " + appInfo.IsNoDisplay.ToString()); Log.Debug("Tag", "isOnBoot: " + appInfo.IsOnBoot.ToString()); Log.Debug("Tag", "isPreload: " + appInfo.IsPreload.ToString()); Log.Debug("Tag", "sharedResourcePath: " + appInfo.SharedResourcePath); }
Getting Information on Current Application
To get information on the current application, follow these steps:
- Call the
Current
property of the Tizen.Applications [3] class:Application application = Application.Current;
- Operate on the application information:
- Get the application directory information:
DirectoryInfo directory = application.DirectoryInfo;
- Get the application name:
string name = application.Name;
- Get the application version:
string version = application.Version;
- Get the application directory information: