Symbian 根据手机号码查电话薄姓名

 

TBool CSampleControlAppUi::LookupTelNumber(TDes&aName, const TDesC& aNumber)
    {
   CContactDatabase* contactsDB = CContactDatabase::OpenL();
   CleanupStack::PushL(contactsDB);
   CContactIdArray* iContactIds = NULL;
   CContactItemFieldDef* findFields = newCContactItemFieldDef();
   CleanupStack::PushL(findFields);
   findFields->AppendL(KUidContactFieldPhoneNumber);
    //search thephonenumber field with the keyword;
    iContactIds= contactsDB->FindLC(aNumber, findFields);
    TBool find =EFalse;
    for (TInt i= 0; i < iContactIds->Count();i++)
       {
       CContactItem * p_item =contactsDB->ReadContactL((*iContactIds)[i]);
       CleanupStack::PushL(p_item);
       TInt i_name =p_item->CardFields().Find(KUidContactFieldGivenName);
       TInt i_fname =p_item->CardFields().Find(KUidContactFieldFamilyName);
       TInt i_phone =p_item->CardFields().Find(KUidContactFieldPhoneNumber);
       if (i_name != KErrNotFound || i_fname != KErrNotFound)
           {
           TPtrC16 p_str_name = p_item->CardFields()
           [i_name].TextStorage()->Text();
           TPtrC16 p_str_fname = p_item->CardFields()
           [i_fname].TextStorage()->Text();
           aName.Copy(p_str_fname);
           aName.Append(p_str_name);
           find = ETrue;
           CEikonEnv::Static()->InfoMsg(aName);
           }
       else
           {
           aName.Zero();
           find = EFalse;
           }
       CleanupStack::PopAndDestroy(p_item);
       contactsDB->CloseContactL((*iContactIds)[i]);
       if (find)
           break;
       }
   CleanupStack::PopAndDestroy(3);
    returnfind;

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值