首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Windows Mobile >

WM6,怎么取得某个指定联系人的所有通话记录

2012-01-29 
WM6,如何取得某个指定联系人的所有通话记录。现在在WM6下,想获得某个联系人所有相关的通话记录。目前好像通

WM6,如何取得某个指定联系人的所有通话记录。
现在在WM6下,想获得某个联系人所有相关的通话记录。目前好像通过edb数据库可以,但是我在实现的时候遇到点问题,不知道是我的方法有问题,还是哪里错了。请高手指点,最好能给出直接给出代码实例供我参考。谢谢。
if   (a   =   CeMountDBVolEx(&g_ceguidInitDB,   L "\pim.vol ",   0,   OPEN_EXISTING   ))  
{
            CEGUID   guid;  
            oidCalllog   =   0;
            m_hDatabase   =   CeOpenDatabaseInSession(NULL,   &g_ceguidInitDB,   &oidCalllog,   L "clog.db ",   NULL,   CEDB_AUTOINCREMENT,   NULL);  
}
  oid=   0x8000000a;
  CEOID   ceoid   =   CeSeekDatabase(g_hDatabase,CEDB_SEEK_CEOID,oid,NULL);  
//执行到这里的时候发现ceoid   返回0.请问这里的oid指联系人的oid吗?
        if(!ceoid)  
        {  
                DWORD   dwErr   =   GetLastError();  
                return   dwErr;  
        }

[解决办法]
可以不用数据库吧。
只要用
PhoneGetCallLogEntry 和一些相关的函数就行吧,一般的信息还是有的。
[解决办法]
CALLLOGENTRY有一个成员pszNumber是telephone number,可以根据这个查找匹配的联系人,这样就可以得到oid了。
[解决办法]
根据电话号码检索一般不会重复,然后再得到联系人,不会有重名问题。

另,如果两个人拥有相同的电话号码,就取第一个,因为任何一个都是这个电话的拥有者。
事实上,这种情况下来电记录里也无法区分究竟是哪一个

热点排行