symbian mtm操作
2010-08-20 01:50:00 来源:WEB开发网delete sel;
4.更改消息索引
TMsvEntry entry = iMsvEntry->Entry();
entry.iDetails.Set( _L( “New details” ) );
iMsvEntry->ChangeL( entry ); //把更改后的数据项索引写回消息索引中去(相当于commit提交)
这里最后的ChangeL很重要,如果不进行该步调用,那么未将修改的消息索引写回到消息存储中。
5.数据项的读写
在进行数据项的读写之前需要使用EditStoreL(),ReadStoreL()函数得到相应的存储CMsvStore通过它提供的接口进行操作。
void CMessageView::ViewMessageL(TMsvId aId)
{
// Construct the CMsvEntry
CMsvEntry* entry = iSession->GetEntryL(aId);
CleanupStack::PushL(entry);
// Get the messaging store
CMsvStore* store = entry->ReadStoreL();
CleanupStack::PushL(store);
// Construct the CRichText and restore the body text
CParaFormatLayer* paraLayer = CParaFormatLayer::NewL();
CleanupStack::PushL(paraLayer);
CCharFormatLayer* charLayer = CCharFormatLayer::NewL();
CleanupStack::PushL(charLayer);
CRichText* body = CRichText::NewL(paraLayer, charLayer);
CleanupStack::PushL(body);
store->RestoreBodyTextL(*body);
// Extract body text from CRichText
TInt len = body->DocumentLength(); //get length
HBufC *buf = HBufC::NewL( len );
TPtr ptrBuf = buf->Des();
body->Extract( ptrBuf, 0, len ); //get data
//因为不同的消息的存储格式不同,还可能需要对ptrBuf进行相应的解码才能正常
//显示
delete buf;
buf = NULL;
CleanupStack::PopAndDestroy(5, entry);
}
三、关于SMS的一些特殊操作
1.读取消息条目
//读取发件箱消息条目索引
TMsvSelectionOrdering sort;
//全部内容排序,包括隐藏
sort.SetShowInvisibleEntries(ETrue);
//设置入口为outbox,也就是发信箱
更多精彩
赞助商链接