编程实现针对S60手机的自动开机
来源:互联网 发布:linux 文件大小的单位 编辑:程序博客网 时间:2024/04/29 03:17
编程实现针对S60手机的自动开机
S60手机的Clock可以设置闹钟,时间到时会自动开机报警,完了询问是否开机。
我测了一下它是用"Alarm Server"实现的,因此想法是自己向"Alarm Server"写一个"Clock Alarm",这就等于编程设计了闹钟。缺陷是如果用户选"否"那就没办法了。
下面的代码参考自:
http://db.cs.helsinki.fi/~mraento/lxr/source/ContextSensors/src/log_alarm.cpp
已经在S60 SDK 2.1的仿真器上测试通过。
// .mmp
//...
LIBRARY ealwl.lib
// .cpp
#include <t32alm.h> // for RAlarmServer
// ...
RAlarmServer iAlarmServer; // forgive me
TInt err = iAlarmServer.Connect();
if(err==KErrNone)
{
CleanupClosePushL(iAlarmServer);
TAlarmInfo info;
TAlarmSetState state;
TInt i, err=-1;
/* 打开这段注释则设置了一个闹钟
TTime t; // target time
TFileName f; // sound file name
iAlarmServer.SetClockAlarm(0, t, f, f, EAlarmClockOnce);
*/
// 下面这段代码检索已设置的闹钟
CAlarmIdArray* ids = new(ELeave) CAlarmIdArray(8);
CleanupStack::PushL(ids);
iAlarmServer.AlarmArrayPopulateL((*ids), RAlarmServer::EArrayNext, 8);
for (i=0; i<ids->Count(); i++)
{
TInt id = ids->At(i);
err=iAlarmServer.AlarmInfo(info, RAlarmServer::EInfoById, id);
if (err==KErrNone )
{ // query the clock alarm info
state=iAlarmServer.AlarmState(info.iAlarmId);
if (state!=EAlarmNotSet && state!=EAlarmDisabled)
break;
}
}
CleanupStack::PopAndDestroy(); // ids
CleanupStack::PopAndDestroy(); // iAlarmServer
}
我测了一下它是用"Alarm Server"实现的,因此想法是自己向"Alarm Server"写一个"Clock Alarm",这就等于编程设计了闹钟。缺陷是如果用户选"否"那就没办法了。
下面的代码参考自:
http://db.cs.helsinki.fi/~mraento/lxr/source/ContextSensors/src/log_alarm.cpp
已经在S60 SDK 2.1的仿真器上测试通过。
// .mmp
//...
LIBRARY ealwl.lib
// .cpp
#include <t32alm.h> // for RAlarmServer
// ...
RAlarmServer iAlarmServer; // forgive me
TInt err = iAlarmServer.Connect();
if(err==KErrNone)
{
CleanupClosePushL(iAlarmServer);
TAlarmInfo info;
TAlarmSetState state;
TInt i, err=-1;
/* 打开这段注释则设置了一个闹钟
TTime t; // target time
TFileName f; // sound file name
iAlarmServer.SetClockAlarm(0, t, f, f, EAlarmClockOnce);
*/
// 下面这段代码检索已设置的闹钟
CAlarmIdArray* ids = new(ELeave) CAlarmIdArray(8);
CleanupStack::PushL(ids);
iAlarmServer.AlarmArrayPopulateL((*ids), RAlarmServer::EArrayNext, 8);
for (i=0; i<ids->Count(); i++)
{
TInt id = ids->At(i);
err=iAlarmServer.AlarmInfo(info, RAlarmServer::EInfoById, id);
if (err==KErrNone )
{ // query the clock alarm info
state=iAlarmServer.AlarmState(info.iAlarmId);
if (state!=EAlarmNotSet && state!=EAlarmDisabled)
break;
}
}
CleanupStack::PopAndDestroy(); // ids
CleanupStack::PopAndDestroy(); // iAlarmServer
}
- 编程实现针对S60手机的自动开机
- 手机的自动开机功能
- symbian s60 v3实现开机启动的例子
- S60 3rd开机自动运行
- S60 3.0上的程序安装后启动和程序开机自动运行
- S60 3.0上的程序安装后启动和程序开机自动运行
- S60 3.0上的程序安装后启动运行和程序开机自动运行
- S60 3.0上的程序安装后启动和程序开机自动运行
- S60 3.0上的程序安装后启动和程序开机自动运行
- S60 3.0上的程序安装后启动运行和程序开机自动运行
- Fiddler 实现手机的抓包(针对手机)
- 针对接口编程,而不是针对实现编程
- android手机开机自动启动
- 英文 S60 手机的中文转码
- 不同S60手机支持的Pys60清单
- 使用S60手机的相机对焦功能
- symbiann s60 3rd开机自启动的问题
- 手机实现远程开机功能
- 如何用VB.Net创建一个三层的数据库应用程序
- 双缓冲技术
- 堆和栈的区别
- 将数值型数据格式化成MONEY的几种方法。
- 最近的设计心得,静态基类的应用[面向对象软件方法学应用1例]
- 编程实现针对S60手机的自动开机
- Linux下perl编程读取rss文件(以CSDN和yahoo为例)
- 一个包含了信号、信号量、共享内存的例子
- 2006-12-1
- 怎样为SettingsList赋值
- 如此计算,是否合理,欢迎指正
- 文件存取类的改进
- 项目正式启动...
- 自定义CMdaAudioInputStream的buffer大小