×
Namespaces

Variants
Actions

利用应用UID调用应用程序

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

文章
r60600 在 21 Nov 2007 创建
最后由 hamishwillee 在 15 Dec 2011 编辑

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

This page was last modified on 15 December 2011, at 08:46.
57 page views in the last 30 days.
×