WEB开发网
开发学院手机开发Symbian 开发 Symbian 3rd 开机自启动在后台运行实现 阅读

Symbian 3rd 开机自启动在后台运行实现

 2010-03-10 16:17:00 来源:WEB开发网   
核心提示:一、开机自启动后台运行按照前一篇博客的方法,可以实现symbian 3rd程序开机自启动,Symbian 3rd 开机自启动在后台运行实现,但是出现了一个新的问题,就是能够自启动,这样能够看出程序能够运行}头文件:#includeLIB: ws32.lib apgrfx.lib这样就实现我的要求了,二、前面能够实现重启

一、开机自启动后台运行

按照前一篇博客的方法,可以实现symbian 3rd程序开机自启动,但是出现了一个新的问题,就是能够自启动,但是会显示界面。我希望这个App程序,能够在后台运行,而且不会出现界面。如果我想开机自启动Forth.exe,解决方法为,ForthdataForth_reg.rss,修改如下:

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;

}

这样实现了Forth安装后在程序中看不到Forth这个程序,但是开机自启动之后仍然出现界面。那么可以在UI中添加如下代码:

CForthAppUi::CForthAppUi()

{

TApaTask self( iEikonEnv->WsSession() );

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

self.SendToBackground();

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

}

头文件:#include

LIB: ws32.lib apgrfx.lib

这样就实现我的要求了。

二、前面能够实现重启手机之后运行,如果想程序安装后马上能够运行,有如下做法:

1、在前台程序中启动这个程序:

lib: LIBRARY apparc.lib // CApaCommandLine

LIBRARY apgrfx.lib

.h #include

#include

在程序中添加如下代码:

const TUid KMenuUid = { 0xE57D62E4 }; //后台程序的UID 即 UID3

TApaTaskList taskList(iEikonEnv->WsSession());

TApaTask task(taskList.FindApp(KMenuUid));

if (task.Exists())

{

task.BringToForeground();

}

else

{

RApaLsSession appSession;

User::LeaveIfError(appSession.Connect());

CleanupClosePushL(appSession);

TApaAppInfo appInfo;

1 2 3 4  下一页

Tags:Symbian rd 开机

编辑录入:coldstar [复制链接] [打 印]
赞助商链接