Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3472625
  • 博文数量: 1450
  • 博客积分: 11163
  • 博客等级: 上将
  • 技术积分: 11101
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-25 14:40
文章分类

全部博文(1450)

文章存档

2017年(5)

2014年(2)

2013年(3)

2012年(35)

2011年(39)

2010年(88)

2009年(395)

2008年(382)

2007年(241)

2006年(246)

2005年(14)

分类: C/C++

2009-08-05 17:40:35

利用应用UID调用应用程序通常有两种方法:

一.使用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版)。

阅读(924) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~