×
Namespaces

Variants
Actions

设置联系人铃声

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

平台安全性
能力: WriteDeviceData

文章
翻译:
hoolee
最后由 hamishwillee 在 22 Dec 2011 编辑

下列函数了演示了如何在名片夹数据库为特定联系人增加铃声。aRingtone可以是一个音频文件的全名(包括盘符路径名字和扩展名),用来作为联系人的指定铃声,aId是联系人的ID,铃声就是为此id设置的。


头文件:

#include <cntdb.h>
#include <cntitem.h>
#include <cntfldst.h>

链接库:

LIBRARY cntmodel.lib

所需能力:

CAPABILITY WriteDeviceData
void AddRingtoneForContactL(const TDesC& aRingtone,TContactItemId aId)
{
CContactDatabase* ContactDb = CContactDatabase::OpenL();
CleanupStack::PushL(ContactDb);
 
CContactItem* SelItem = ContactDb->OpenContactL(aId);
CleanupStack::PushL(SelItem);
 
TInt RIndex = SelItem->CardFields().Find(KUidContactFieldRingTone);
if(RIndex != KErrNotFound)
SelItem->RemoveField(RIndex);
 
CContactItemField* contactField = CContactItemField::NewLC(KStorageTypeText,KUidContactFieldRingTone);
contactField->TextStorage()->SetTextL(aRingtone);
contactField->SetLabelL(_L("tone"));
contactField->SetMapping(KUidContactFieldVCardMapUnknown);
contactField->SetId(2);
 
SelItem->AddFieldL(*contactField);
CleanupStack::Pop();//ContactField
ContactDb->CommitContactL(*SelItem);
 
CleanupStack::PopAndDestroy(2);//ContactDb,SelItem
}
This page was last modified on 22 December 2011, at 07:59.
63 page views in the last 30 days.
×