Code:
void MyApplication::NewImage()
{
const TUid KUidCamera = { 0x1000593F };
RApaLsSession apaLs;
TApaAppInfo appInfo;
CApaDocument* doc = NULL;
CEikProcess* process = CEikonEnv::Static()->Process();
User::LeaveIfError(apaLs.Connect());
CleanupClosePushL(apaLs);
User::LeaveIfError(apaLs.GetAppInfo(appInfo, KUidCamera));
doc = process->AddNewDocumentL(appInfo.iCaption, KUidCamera);
CleanupStack::PopAndDestroy(); // apaLs
TApaDocCleanupItem cleanup(process, doc);
CleanupStack::PushL(cleanup);
doc->NewDocumentL();
CleanupStack::Pop(); // cleanup
doc->EditL(this, ETrue);
}
void MyApplication::NotifyExit(TExitMode aMode)
{
// camera view has been closed
}