ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Symbian程序中启动其他的KJava程序

Symbian程序中启动其他的KJava程序

原创 Linux操作系统 作者:c00lsun 时间:2009-04-14 10:31:13 0 删除 编辑
有些时候,我们希望在Symbian中启动其他的KJava应用,这里我们不提启动其他的Symbian程序,因为只要你知道Symbian程 序的UID,你就能把它启动起来,而Symbian的UID我们有许多方法可以知道,然而,对于KJava应用而言,就没这么容易了,所以我们通常采用其 他方式启动,要启动KJava程序我们必须知道其Caption属性,也就是写在Caption中的KJava应用的名字。
 
_LIT8(KMidletCaption,"忍者神龟");
 TApaAppInfo appInfo;
 RApaLsSession apaSession;
 User::LeaveIfError(apaSession.Connect() );
 CleanupClosePushL(apaSession);
 User::LeaveIfError(apaSession.GetAllApps() );
 while (apaSession.GetNextApp(appInfo) == KErrNone)
 {
  if( appInfo.iFullName.Right(8).Compare(_L(".fakeapp")) == 0)
  {
   TBuf<256> cap;
   cap.Copy(appInfo.iCaption);   
   HBufC* pCap = NHelper::ConvGbk2UniL(KMidletCaption);//寻找对应的应用名称   
   if (pCap->CompareF(cap) == 0)//如果找到就启动
   {
    TThreadId threadId;
    apaSession.StartDocument(_L(""), appInfo.iUid, threadId);
    CleanupStack::PopAndDestroy(); // close apaSession
    return true;
   }
  }
 }
 CleanupStack::PopAndDestroy(); // close apaSession
 return false;
 以上就是启动KJava应用的步骤,下面简单说几句启动Symbian应用的方法。
 大家都注意到了apaSession.StartDocument()这个方法了,如果我们是在Symbian第二版中,我们需要在第二个参 数中给出UID,如果是在第三版本中,apaSession中有一个方法可以直接把应用名称(就是xxx.exe什么的)传入其中就可以启动了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9059159/viewspace-588939/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-23

  • 博文量
    31
  • 访问量
    47920