暖暖视频免费观**,国产免费美女被艹视频,毛片一级毛片,不卡三级

智慧服務(wù),成就美好體驗(yàn) 項(xiàng)目咨詢

主頁(yè) > 服務(wù)與支持 > 開(kāi)發(fā)平臺(tái) > 客戶端SDK參考 > Android Native SDK > 通訊錄 設(shè)置和獲取聯(lián)系人頭像

入門(mén)使用

設(shè)置和獲取聯(lián)系人頭像

更新時(shí)間:2019-11-20

描述

用戶可以更改自己的頭像。使用的頭像可以是系統(tǒng)頭像也可以是自定義頭像也可以獲取頭像,在獲取頭像時(shí)服務(wù)器會(huì)推送獲取頭像的回調(diào)消息給用戶,從服務(wù)器上得到指定聯(lián)系人的頭像信息。

前提條件

已完成組件的初始化和登錄。

業(yè)務(wù)流程

  • 設(shè)置系統(tǒng)頭像
    圖1 設(shè)置系統(tǒng)頭像流程 
    UI調(diào)用TsdkEAddrManager對(duì)象中的setSystemIcon()方法設(shè)置系統(tǒng)頭像。
    說(shuō)明: 
    • 參數(shù)iconId是指系統(tǒng)默認(rèn)頭像圖片文件的圖片名。圖片名一般是數(shù)字。這些圖片文件保存在用戶的本地文件夾中。UI通過(guò)iconId找到對(duì)應(yīng)的圖片文件,加載到界面呈現(xiàn)。這些圖片不需要從服務(wù)器上獲取。
    • 禁止修改系統(tǒng)默認(rèn)頭像圖片的文件名,以免造成iconId對(duì)應(yīng)的圖片文件與其他用戶不一致,導(dǎo)致界面顯示用戶系統(tǒng)默認(rèn)頭像不一致。
    • 頭像大小建議不要超過(guò)2M,否則可能影響UI性能。

    代碼示例:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    //java code
    TsdkEAddrManager tsdkEAddrManager = TsdkManager.getInstance().geteAddrManager();
    public int setSystemIcon(int resId)
    {
        int result = tsdkEAddrManager.setSystemIcon(resId);
        if (result != 0)
        {
            Log.e(TAG, "Set user system icon filed, result -->" + result);
        }
        return result;
    }
    
     
  • 設(shè)置自定義頭像
    圖2 設(shè)置自定義頭像流程 
    UI調(diào)用TsdkEAddrManager對(duì)象中的setUserDefIcon()方法設(shè)置自定義頭像。
    說(shuō)明: 
    • 設(shè)置自定義頭像需注意:參數(shù)需要傳入要設(shè)置頭像的路徑,并且頭像需要選擇為小頭像52*52、中頭像120*120和大頭像320*320三種,其中具體大小應(yīng)根據(jù)服務(wù)器要求來(lái)定。
    • 圖片的格式不支持TIFF格式,推薦使用png格式。
    • 圖片的大小服務(wù)器沒(méi)有限制,產(chǎn)品可以根據(jù)實(shí)際的需要進(jìn)行限制,建議圖片大小最大值為2MB。
    • 若返回成功,則返回設(shè)置成功和修改時(shí)間,否則返回相應(yīng)的錯(cuò)誤碼。

    代碼示例:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    //java code
    TsdkEAddrManager tsdkEAddrManager = TsdkManager.getInstance().geteAddrManager();
    public int setDefinedIcon(String smallIconFilePath, String mediumIconFilePath, String largeIconFilePath)
    {
        TsdkIconInfo iconInfo = new TsdkIconInfo(smallIconFilePath, mediumIconFilePath, largeIconFilePath);
        String result = tsdkEAddrManager.setUserDefIcon(iconInfo);
    
        if (null != result)
        {
            return 0;
        }
    
        return -1;
    }
    
     
  • 獲取聯(lián)系人頭像
    圖3 獲取聯(lián)系人頭像流程 
  1. UI調(diào)用TsdkEAddrManager對(duì)象中的getUserIcon()方法獲取聯(lián)系人頭像。

     

    說(shuō)明: 

    需要傳入的參數(shù)為查詢的帳戶以及序列號(hào)。

    代碼示例:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    //java code
    TsdkEAddrManager tsdkEAddrManager = TsdkManager.getInstance().geteAddrManager();
    private int queryContactsIconSeq = 1;
    private static Map<Integer, String>querySeqAccountMap = new HashMap<>();
    
    public int getUserIcon(String account)
    {
        int seq = queryContactsIconSeq++;
        TsdkGetIconParam iconParam = new TsdkGetIconParam();
        iconParam.setSeqNo(seq);
        iconParam.setAccount(account);
        querySeqAccountMap.put(seq, account);
        int result = tsdkEAddrManager.getUserIcon(iconParam);
        if (result != 0)
        {
            Log.e(TAG, "search user icon failed -->" + result);
        }
        return seq;
    }
    
     

     

  2. SDK通過(guò)TsdkNotify接口中的onEvtGetIconResult()方法向UI上報(bào)查詢聯(lián)系人頭像事件,UI獲得所查詢的聯(lián)系人頭像內(nèi)容。

     

    說(shuō)明: 

    查詢頭像的結(jié)果信息包括操作結(jié)果,查詢序號(hào),系統(tǒng)頭像ID(用戶設(shè)置的是系統(tǒng)頭像)或者自定義頭像文件路徑(用戶設(shè)置的是自定義頭像)。

    代碼示例:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    //Java code
    public void handleGetIconResult(int querySeqNo, TsdkCommonResult result, TsdkGetIconResult getIconResult) {
        int ret = result.getResult();
        int seqNo = querySeqNo;
        String account = querySeqAccountMap.get(seqNo);
        if (ret == 0)
        {
            int sysId = getIconResult.getIconId();
            String avatarFile = getIconResult.getIconPath();
    
            if (querySelfIconSeq == seqNo)
            {
                EntAddressBookIconInfo selfIcon = new EntAddressBookIconInfo();
                selfIcon.setAccount(account);
                selfIcon.setIconFile(avatarFile);
                selfIcon.setIconId(sysId);
                selfIcon.setIconSeq(seqNo);
                notification.onEntAddressBookIconNotify(EntAddressBookConstant.Event.GET_SELF_ICON, selfIcon);
            }
            else if (sysId >= 0 && avatarFile.isEmpty())
            {
                EntAddressBookIconInfo iconInfo = new EntAddressBookIconInfo();
                iconInfo.setAccount(account);
                iconInfo.setIconId(sysId);
                iconInfo.setIconSeq(seqNo);
                notification.onEntAddressBookIconNotify(EntAddressBookConstant.Event.GET_CONTACTS_SYSTEM_ICON, iconInfo);
            }
            else
            {
                EntAddressBookIconInfo iconInfo = new EntAddressBookIconInfo();
                iconInfo.setAccount(account);
                iconInfo.setIconFile(avatarFile);
                iconInfo.setIconSeq(seqNo);
                notification.onEntAddressBookIconNotify(EntAddressBookConstant.Event.GET_CONTACTS_CUSTOM_ICON, iconInfo);
            }
            Log.i(TAG, sysId + "System Avatar ID  " + avatarFile + "Custom Avatar filename");
        }
        else
        {
            EntAddressBookIconInfo iconInfo = new EntAddressBookIconInfo();
            iconInfo.setAccount(account);
            iconInfo.setIconSeq(seqNo);
            Log.e(TAG, "User get icon failed, result -->" + result);
            notification.onEntAddressBookIconNotify(EntAddressBookConstant.Event.GET_CONTACTS_ICON_FAILED, iconInfo);
        }
    }
    
     

     

注意事項(xiàng)

無(wú)。