Startup List Management API
步骤如下:
1. 在<PRJ_DIRECTORY>/DATA目录下新建一个UID3.RSS文件。其中UID3是你工程的UID3号,<PRJ_DIRECTORY>/DATA是你工程中存放RSS文件的目录。
例如: 06000001.rss
在刚创建的RSS文件中添加以下内容:
#include <startupitem.rh>RESOURCE STARTUP_ITEM_INFO startexe { executable_name = "c://sys//bin//StartEXE.exe"; recovery = EStartupItemExPolicyNone; }
在上面的代码中,下面几点需要注意:
- c: 表示Exey文件将安装在C盘
- 如果需要在安装里选择路径,请将c:改为!:
- StartEXE.exe 是需要自启动的程序名。这里的名字应与MMP文件里的TARGET文件名相同。
2. 打开工程的.MMP 文件,添加以下代码
START RESOURCE ../DATA/06000001.rss END
- RSS文件的路径要于第一步中创建的路径一致.
3. 在你的.PKG 文件中添加下面这行:
"C:/Symbian/9.1/S60_3rd_MR/Epoc32/data/06000001.rsc"-"c:/private/101f875a/import/[06000001].rsc"
- 程序可以安装在任何路径,但[uid3].rsc 必须安装在c:/private/101f875a/import/。 不可以将c:改成!:
- C:/Symbian/9.1/S60_3rd_MR/ 可以用$(EPOCROOT)宏代替.
- *.rsc 文件是 *.rss 编译后的目标文件. 如果你工程中的语言选项不包含"SC", 目标文件也可以是其它形式后缀,例如*.r01。详细信息请参考Internationalization.
- 该rsc文件被安装到手机上里,必须以[UID3].rsc这样的形式存在,即中括号[]是必须的,UID3中不能包含0x。
4. 重新Build工程,看看你的程序能不能开机自启动了…
注意:
- 如果自启动的程序在很短的时间内就退出了,系统会提示: Unable to start <name of EXE>. Application may need to be removed.
- 关于Startup List已经发现存在一些问题,你可以到Forum Nokia Technical Library地址,搜索"Startup List"以得到相关信息.
- 该方法不可以用自签名来实现. 它必须用开放签名(Open Signed)或用开发者证书签名。
- 安装包的Package header中的UID一定要与自启动程序的UID一致。 (经本人测试得出)
其它链接
代码示例
Startup List Management Example
本文翻译自:How_to_autostart_an_application_on_boot_up_in_3rd-_Startup_List_Management_API