让symbian 程序在后台运行

修改资源文件:

  RESOURCE APP_REGISTRATION_INFO

  {

  app_file="Forth";

  localisable_resource_file = qtn_loc_resource_file_1;

  localisable_resource_id = R_LOCALISABLE_APP_INFO;

  embeddability=KAppNotEmbeddable;

  newfile=KAppDoesNotSupportNewFile; //KAppSupportsNewFile

  hidden=KAppIsHidden;

  launch=KAppLaunchInBackground;

  }

  构造函数中

  CForthAppUi::CForthAppUi()

  {

  TApaTask self( iEikonEnv->WsSession() );

  self.SetWgId( iEikonEnv->RootWin().Identifier() );

  self.SendToBackground();

  PopUpNoteL( _L("Ready") ); //自己写的弹框。这样能够看出程序能够运行

  }

  头文件:#include

  LIB: ws32.lib apgrfx.lib

  这样就可以了

 

另一种方法没有试验过,很有可能不成功。

void CMobiFLVAppUi::HandleForegroundEventL( TBool aForeground )
{
        if(iMinDownSize == 0)
        {
                if(iSecondShowFlg)
                {
                        if(aForeground)
                        {
                                TInt wgId = iEikonEnv->RootWin().Identifier();

                                TApaTask self( iCoeEnv->WsSession() );

                                self.SetWgId( wgId );
                                self.SendToBackground();

                                RWsSession session = iEikonEnv->WsSession();

                                CApaWindowGroupName* wgName = CApaWindowGroupName::NewLC(session, wgId);

                                wgName->SetHidden(ETrue);

                                wgName->SetWindowGroupName(iEikonEnv->RootWin());

                                CleanupStack::PopAndDestroy(); // wgName
                        }
                }
        }
}

 

 

你可能感兴趣的:(session,File,Symbian)