如何通过程序设定是否开机自启动

简介: 主要有两个步骤:1,使用Startup List Management API实现开机自启动2,重载AppUI中的ProcessCommandParametersL()函数确定是否关闭(自启动后关闭==不启动)1.1 在data目录下创建一个boot resource file,名字为XXXX.rss, 其中XXXX为UID3。
主要有两个步骤:
1,使用Startup List Management API实现开机自启动
2,重载AppUI中的ProcessCommandParametersL()函数确定是否关闭(自启动后关闭==不启动)

1.1 在data目录下创建一个boot resource file,名字为XXXX.rss, 其中XXXX为UID3。
#include <startupitem.rh>
RESOURCE STARTUP_ITEM_INFO startexe
{
    executable_name = 
[url=file://sys//bin//programToStart.exe] //sys//bin//programToStart.exe[/url] ; //换成你程序名字
    recovery = EStartupItemExPolicyNone;
}
1.2更新你的MMP文件
SOURCEPATH      ../data
START RESOURCE XXXX.rss
END
1.3更新你的PKG文件,
中括号不要丢了!
“/epoc32/data/yyyy.rsc”- “c:/private/101f875a/import/[yyyy.rsc”
有以下几点限制:必须装在c盘,必须用开发者证书。

 如果一切顺利,程序可以自己随着手机开机而自己启动了,但是如何让用户可以在程序中设置让程序不要随机启动呢?
2.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.2 重载AppUI中的ProcessCommandParametersL()函数
Bool CMyAppUi::ProcessCommandParametersL( CApaCommandLine &aCommandLine )
{
  if(aCommandLine.OpaqueData().Length() > 0)
  {
      // 用户手动启动,存在OpaqueData
  }
  else
  {
      // 程序自动启动,存在OpaqueData。
      // 可以在这里判断是否设置为不自动启动, 调用Exit()函数退出
  }
   return CEikAppUi::ProcessCommandParametersL( aCommandLine );
}
目录
相关文章
|
6月前
chkconfig 设置后台服务的自启配置
chkconfig 设置后台服务的自启配置。
46 2
|
6月前
|
存储 弹性计算 运维
|
6月前
|
存储 弹性计算 运维
自动修改计划任务配置文件
【4月更文挑战第29天】
40 0
|
Linux
linux设置开机服务自动启动/关闭自动启动命令 chkconfig
linux设置开机服务自动启动/关闭自动启动命令 chkconfig
349 0
|
负载均衡 Unix 应用服务中间件
systemctl 命令设置开机自启动失败
systemctl 命令设置开机自启动失败
|
应用服务中间件 nginx
nginx 设置开机自动启动脚本
Nginx 是一个很强大的高性能Web和反向代理服务器。虽然使用命令行可以对nginx进行各种操作,比如启动等,但是还是根据不太方便。下面介绍在Linux下安装后,如何设置开机自启动。 首先,在linux系统的/etc/init.
2124 0
|
NoSQL 关系型数据库 MySQL
设置系统开机服务自动启动 | 学习笔记
快速学习设置系统开机服务自动启动
246 0
Debian8修改启动默认运行级别
Debian8修改启动默认运行级别
277 0
|
关系型数据库 MySQL Linux
Linux服务开机自启动设置
Linux中也有类似于Window中的开机自启动服务,主要是通过chkconfig命令来设置。它主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。
2578 0