×
Namespaces

Variants
Actions

Archived:Symbian C++でFlashランチャーを作成する方法

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngArchived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.

We do not recommend Flash Lite development on current Nokia devices, and all Flash Lite articles on this wiki have been archived. Flash Lite has been removed from all Nokia Asha and recent Series 40 devices and has limited support on Symbian. Specific information for Nokia Belle is available in Flash Lite on Nokia Browser for Symbian. Specific information for OLD Series 40 and Symbian devices is available in the Flash Lite Developers Library.

Article Metadata
Article
Translated:
By morisawafnj
Last edited: hamishwillee (14 May 2013)


通常のメニューにアイコンを表示するためには、Symbianアプリケーションを作成する必要があります。そしてまた、アプリケーションのフレームワーク等を定義する必要があります。これらについては、アプリケーションウィザードを使用して行えます。アプリケーションアイコンを変更する方法は、アプリケーションアイコンを定義する方法にて示しています。アプリケーションユーザインタフェースクラスに、コードを追加することだけです。

Contents

Symbian S60 3rd Edition端末

S60 3rd Edition プラットフォームでは次のように、DocumentハンドラとしてRFileを使用できます(Run_Flash.cpp ファイル中で示しています)。

iHandler = CDocumentHandler::NewL( NULL );
iHandler->SetExitObserver(this);
 
TFindFile AufFolder(CCoeEnv::Static()->FsSession());
if(KErrNone == AufFolder.FindByDir(KTxtFlashFileName, KNullDesC))
{
RFile Runfile;
User::LeaveIfError(Runfile.Open(CCoeEnv::Static()->FsSession(), aFlashAppName, EFileShareReadersOnly));
CleanupClosePushL(Runfile);
 
TDataType Dummy;
 
User::LeaveIfError(iHandler->OpenFileEmbeddedL(Runfile, Dummy));
 
CleanupStack::PopAndDestroy(); // sharedfile
}

また、アプリケーションUIクラスとして、MAknServerAppExitObserverを実行することに注意する必要があります。

Symbian S60 3rd Edition FP1端末

... 専用のAPIがあります ...

Symbian S60 3rd Edition以前の端末

2nd Editionでは次のように、直接RApaLsSessionを利用できます(Run_Flash2.cpp ファイル中で示しています)。

RApaLsSession session;
session.Connect();
CleanupClosePushL(session);
 
TFindFile AppFile(CCoeEnv::Static()->FsSession());
if(KErrNone == AppFile.FindByDir(KTxtFlashFileName, KNullDesC))
{
TThreadId id;
User::LeaveIfError(session.StartDocument(AppFile.File(), id));
}
 
CleanupStack::PopAndDestroy();//session.Close();


Run_Flash2.cpp

#include <apgcli.h>
 
_LIT(KTxtFlashFileName, ":\\others\\MyFlashFile.swf" );
//_LIT(KTxtFlashFileName, ":\\private\\<My-SID>\\MyFlashFile.swf" );
 
 
void CFlashStubAppUi::ConstructL()
{
BaseConstructL(CAknAppUi::EAknEnableSkin);
 
RApaLsSession session;
session.Connect();
CleanupClosePushL(session);
 
TFindFile AppFile(CCoeEnv::Static()->FsSession());
if(KErrNone == AppFile.FindByDir(KTxtFlashFileName, KNullDesC))
{
TThreadId id;
User::LeaveIfError(session.StartDocument(AppFile.File(), id));
}
 
CleanupStack::PopAndDestroy();//session.Close();
 
User::Exit(0);
}
 
CFlashStubAppUi::CFlashStubAppUi()
{
// No implementation required
}
 
CFlashStubAppUi::~CFlashStubAppUi()
{
 
}
 
void CFlashStubAppUi::HandleCommandL( TInt aCommand )
{
switch( aCommand )
{
case EEikCmdExit:
case EAknSoftkeyExit:
Exit();
break;
default:
break;
}
}


Run_Flash.cpp

#include <documenthandler.h>
#include <apgcli.h>
 
_LIT(KTxtFlashFileName, ":\\others\\MyFlashFile.swf" );
//_LIT(KTxtFlashFileName, ":\\private\\<My-SID>\\MyFlashFile.swf" );
 
void CFlashStubAppUi::ConstructL()
{
BaseConstructL(CAknAppUi::EAknEnableSkin);
 
iHandler = CDocumentHandler::NewL( NULL );
iHandler->SetExitObserver(this);
 
TFindFile AufFolder(CCoeEnv::Static()->FsSession());
if(KErrNone == AufFolder.FindByDir(KTxtFlashFileName, KNullDesC))
{
RFile Runfile;
User::LeaveIfError(Runfile.Open(CCoeEnv::Static()->FsSession(), aFlashAppName, EFileShareReadersOnly));
CleanupClosePushL(Runfile);
 
TDataType Dummy;
 
User::LeaveIfError(iHandler->OpenFileEmbeddedL(Runfile, Dummy));
 
CleanupStack::PopAndDestroy(); // sharedfile
}
}
 
CFlashStubAppUi::CFlashStubAppUi()
{
// No implementation required
}
 
CFlashStubAppUi::~CFlashStubAppUi()
{
delete iHandler;
}
 
void CFlashStubAppUi::HandleCommandL( TInt aCommand )
{
switch( aCommand )
{
case EEikCmdExit:
case EAknSoftkeyExit:
Exit();
break;
default:
break;
}
}
 
void CFlashStubAppUi::HandleServerAppExit (TInt /* aReason */)
{
Exit();
}
This page was last modified on 14 May 2013, at 09:54.
56 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×