[Howto]在Symbian3rd上获取日历信息

本文介绍了一个用于读取手机日历信息的API示例代码,通过该API可以获取到日历条目的主题、位置及起止时间等详细信息。首先创建会话并打开日历服务,接着构建视图并设置筛选条件,最后遍历符合条件的日程列表并读取每个日程的详情。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 ///--------------------------------------------------
/// 读取日历信息
///--------------------------------------------------

///STEP1 建立session
CCalSession* iCalSession = CCalSession::NewL();
TRAPD(err, iCalSession->OpenL(KNullDesC));
if(err == KErrNotFound)
{
delete iCalSession;
iCalSession = NULL;
return;
}

///STEP2 建立视图
CCalEntryView* iCalEntryView = CCalEntryView::NewL(*iCalSession, *this);

TTime zeroTime(TDateTime(2000, EJanuary, 1, 1, 1, 1, 1));
TCalTime calTime;
calTime.SetTimeUtcL(zeroTime);

///STEP3 得到筛选列表
RArray<TCalLocalUid> uidAry;
TRAPD(err1, iCalEntryView->GetIdsModifiedSinceDateL(calTime, uidAry));
if (err1 == KErrNone)
{
TBuf<256> bufTemp;

///STEP4 遍历列表,处理每一个日程子项
for (int i = 0; i < uidAry.Count(); ++i)
{
CCalEntry* entry = iCalEntryView->FetchL(uidAry[i]);

if (entry && entry->EntryTypeL() == CCalEntry::EAppt)
{
// 主题
//entry->SummaryL()

// 位置
//entry->LocationL()

// 起始时间
//TTime t1 = entry->StartTimeL().TimeLocalL();
//t1.FormatL(bufTemp, _L("%D%M%Y%/0%1%/1%2%/2%3%/3%-B%:0%J%:1%T%:3%+B"));


// 终止时间
//t1 = entry->EndTimeL().TimeLocalL();
//t1.FormatL(bufTemp, _L("%D%M%Y%/0%1%/1%2%/2%3%/3%-B%:0%J%:1%T%:3%+B"));
}
else
{

}

delete entry;
entry = NULL;
}
}
else
{
iLog.WriteFormat(_L("CalView err = %d"), err1);
}

iLog.Write(_L("Release"));
/// Release.
uidAry.Close();

///STEP5 释放视图和会话
delete iCalEntryView;
iCalEntryView = NULL;

delete iCalSession;
iCalSession = NULL;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值