开发学院手机开发Symbian 开发 symbian mtm操作 阅读

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 ); //把更改后的数据项索引写回消息索引中去(相当于com

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,也就是发信箱

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:symbian mtm 操作

编辑录入:coldstar [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接