安装完成之后自启动:
首先看看自启动如何处理,自启动处理方法很简单。只需要处理一个PKG文件就行了。
看PKG文件内容:
"/Symbian/9.1/S60_3rd_MR/Epoc32/release/GCCE/UREL/TestStart.exe"
-"!:/sys/bin/TestStart.exe", FR, RI//这里只需要添加FR,RI标识符就可以安装完后自启动了
在这里需要注意:
EXE文件应该放在PKG里所有资源的最后。因为EXE安装完成后,可能需要用到前面的资源。
随机自启动:
第一步:写一个RSS文件,就用自己的那个UID3作为文件名即可,放在data目录下面,内容如下:
#include <startupitem.rh>
RESOURCE STARTUP_ITEM_INFO startexe
{
executable_name = "!://sys//bin//TestStart.exe";
recovery = EStartupItemExPolicyNone;
}
第二步:修改MMP,加一个资源如下:
SOURCEPATH ../data
START RESOURCE UID3.rss
HEADER
TARGETPATH /resource/apps
END
第三步:再改一下那个PKG文件吧,如下:
$(EPOCROOT)Epoc32/data/z/resource/apps/UID3.rsc"-"c:/private/101f875a/import/[200XXX].rsc"
注意:
2 另外注意:
"C:/Symbian/9.2/S60_3rd_FP1/Epoc32/Data/UID3.rsc" -"c:/private/101f875a/import/[2000XXXX].rsc"
- 如果exe启动后大约5秒内退出,那么会显示一条提示:Unable to start <name of EXE>. Application may need to be removed.
- 有些关于启动列表的问题及解决方案,可以参考Forum Nokia Technical Library搜索"Startup List"查看最新更新
- Startup List Management API不会在自签名程序下工作 你需要有SymbianSign认证,取得相关的能力。
- 要启动exe和相关资源由pkg直接指明安装,不要通过内嵌sis文件
http://wiki.forum.nokia.com/index.php/如何利用启动列表管理API让第三版手机启动时自动启动某程序
如果你希望在根据设置配置程序是否开机自启动,你还需要完成一下步骤: 1. 修改程序的注册资源文件YourAppName_reg.rss,添加如下代码
#include <appinfo.rh> #include <uikon.rh> RESOURCE APP_REGISTRATION_INFO { //原来的代码 opaque_data = r_startup_detect; } RESOURCE NUMBER_INT8 r_startup_detect {value = 1;}
2 重载AppUi中的ProcessCommandParametersL()函数
Bool CYourAppNameAppUi::ProcessCommandParametersL( CApaCommandLine &aCommandLine ) { if(aCommandLine.OpaqueData().Length() > 0) { // 此处为用户手动启动 } else { // 此处为判断程序开机后自动启动与否,如果设置为开机不自动启动, 在此处调用Exit()函数退出。 } return CEikAppUi::ProcessCommandParametersL( aCommandLine ); }