利用应用UID调用应用程序

利用应用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版)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值