特定の URL で S60 ブラウザを起動するコードを次に示します。
// use the StartDocument api
param->Des().Format( _L( "4 %S" ),&aUrl );
TUid id( TUid::Uid( browserUid ) );
TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
TApaTask task = taskList.FindApp( id );
if ( task.Exists() ) {
HBufC8* param8 = HBufC8::NewL( param->Length() );
param8->Des().Append( *param );
task.SendMessage( TUid::Uid( 0 ), *param8 );
// Uid is not used // CleanupStack::PopAndDestroy(); // param8
}
else {
RApaLsSession appArcSession;
User::LeaveIfError( appArcSession.Connect() ); // connect to AppArc server
TThreadId id;
appArcSession.StartDocument( *param, TUid::Uid(browserUid), id );
appArcSession.Close();
}
ただし、これは URL ごとに新しいタブを開くようで、タブの数が WebKit の内部制限 (5) に達すると、ポップアップ ウィンドウの最大数に達したというエラーが発生します。これに対する回避策はありますか? 同じ 1 つのタブ内でネイティブ S60 ブラウザを開くことはできますか?