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.rssEND
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一致。 (經本人測試得出)
其它連結
- http://discussion.forum.nokia.com/forum/showthread.php?t=138079
程式碼範例
Startup List Management Example
本文翻譯自:How_to_autostart_an_application_on_boot_up_in_3rd-_Startup_List_Management_API