×
Namespaces

Variants
Actions

How to launch an application with its UID

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Article
Created: vin2ktalks (30 Mar 2007)
Last edited: hamishwillee (12 Jan 2012)

We can launch any application installed on a device with it's UID rather using the name of the application .

  • By this way we can prevent the name clashes.
  • No need for searching for the full path of the application.


In mmp file:

LIBRARY        apgrfx.lib // for RApaLsSession
LIBRARY apparc.lib // for CApaCommandLine, TApaAppInfo


Source code

// System Includes
#include <apgcli.h> // for RApaLsSession
#include <apacmdln.h> // for CApaCommandLine
 
// ...
 
// ----------------------------------------------------------------------------
// CMyUtility::LaunchAppL(const TUid aAppUid)
// Find the application with it's UID and if exists then launch the
// application to the foreground.
// ----------------------------------------------------------------------------
//
void CMyUtility::LaunchAppL(const TUid aAppUid) const
{
RApaLsSession apaLsSession;
User::LeaveIfError(apaLsSession.Connect());
CleanupClosePushL(apaLsSession);
 
TApaAppInfo appInfo;
TInt retVal = apaLsSession.GetAppInfo(appInfo, aAppUid);
 
if(retVal == KErrNone)
{
CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
cmdLine->SetExecutableNameL(appInfo.iFullName);
cmdLine->SetCommandL(EApaCommandRun);
User::LeaveIfError( apaLsSession.StartApp(*cmdLine) );
 
CleanupStack::PopAndDestroy(cmdLine);
}
else
{
// The application not found!
}
 
CleanupStack::PopAndDestroy(&apaLsSession);
}


Related Links:

This page was last modified on 12 January 2012, at 07:09.
71 page views in the last 30 days.
×