分类: C/C++
2009-08-05 17:40:35
一.使用CCoeAppUi::ActivateViewL方法
例如:
const TUid KApplicationUid = { 0x101f857A }; //应用UID(相机) const TUid KApplicationViewId = { 1 }; //视图ID CCoeAppUi::ActivateViewL(TVwsViewId(KApplicationUid, KApplicationViewId));
便可以激活相机程序。
二.使用TApaTask类
第一种方法虽简单,但一般只在CCoeAppUi派生类中起作用,且无法带参数运行程序,所以我们会时常使用另一种方法:
HBufC* parameter = HBufC::NewLC( 20 ); parameter->Des().Copy( _L( "4 wap.monternet.com/" ) ); TInt KApplicationUid = 0x10008D39; TUid id( TUid::Uid( KApplicationUid ) ); TApaTaskList taskList( CEikonEnv::Static()->WsSession() ); TApaTask task = taskList.FindApp( id ); if ( task.Exists() ) { HBufC8* parameter8 = HBufC8::NewLC( parameter->Length() ); parameter8->Des().Append( *parameter ); task.SendMessage( TUid::Uid( 0 ), *parameter8 ); CleanupStack::PopAndDestroy(); } else { RApaLsSession appArcSession; User::LeaveIfError(appArcSession.Connect()); TThreadId id; appArcSession.StartDocument( *parameter, TUid::Uid( KApplicationUid ), id ); appArcSession.Close(); } CleanupStack::PopAndDestroy();
便可以调用浏览器并直接访问移动梦网。
以下是一些常用功能的UID:
浏览器0x10008D39;日历0x10005901;情景模式0x100058F8;名片夹0x101F4CCE;待办事项0x10005900; 通讯记录0x101F4CD5;多媒体资料0x101F8599;信息0x100058C5;蓝牙0x10005951;录音器0x100058CA; 单位换算0x101F4668;计算器0x10005902;相机0x1000593F(2版)0x101f857A 0x101ffa86(3版)。