2013-11-27 37 views
4

在我的遊戲中,我試圖讓對手的個人資料圖片,但getIconImageUri()返回null,下面的代碼只顯示在日誌Uri到我的個人資料圖片。我也有與玩家名稱相同的問題。我的球員姓名已完整顯示(姓名和首字母),但對手名稱與「player_123」類似。對手getIconImageUri()返回null

for (Participant p : mParticipants) { 

     if (p.getIconImageUri() != null) { 
      Log.d(TAG, "avatar " + p.getIconImageUri().toString()); 
     } 
     // ImageUtils.downloadAvatar(p.getIconImageUri().toString()); 
    } 

回答

4

這聽起來像是您與不在共享圈內的玩家連接。這是來自邀請遊戲還是隨機遊戲? (自動挑選)

如果您正在邀請玩家,並且他們正在接受您的邀請玩,那麼可能有問題。否則,如果圈子匹配未完成,則不會給出參與者的圖標或名稱,這是正常的Google+行爲。

Android Developer Participant

公共抽象烏里getHiResImageUri()

返回高分辨率的圖像的URI顯示此參與者。如果玩家的身份未知,則這將爲空。如果玩家根本沒有圖像,它也可能爲空。

要從Uri檢索圖像,請使用ImageManager。 返回

The URI of the hi-res image to display for this participant. 

公共抽象烏里getIconImageUri()

返回圖標大小的圖像的URI顯示此參與者。如果玩家的身份未知,則這將是玩家的自動頭像頭像圖像。如果玩家根本沒有圖像,它也可能爲空。

要從Uri檢索圖像,請使用ImageManager。 返回

The URI of the icon image to display for this participant. 

公共抽象字符串getParticipantId()

返回此參與者的ID。請注意,這僅適用於當前的多人空間:參與者在多個房間中不會有相同的ID。 返回

The ID of this participant. 

公共抽象球員getPlayer()

返回播放此參與者代表。請注意,如果玩家的身份不明,這可能爲空。這發生在自動配對的情況下,一些玩家不允許看到其他玩家的真實身份。 返回與此參與者相對應的播放器。

+0

我正在使用自動匹配功能,但玩家在圈子中有對方。我正在嘗試在onRoomConnected下載圖片,所以我需要稍後再做這件事? – user1483208

+0

自動匹配被視爲玩家完全匿名,因此除非您發送邀請並接受其玩法......將永遠爲空,並且沒有參與者的姓名(儘管查看文檔,似乎Google正在計劃,或者現在有辦法爲頭像進行自動匹配)。在onRoomConnected之後,我也處理此行爲,以及我的邀請遊戲... – user2346305

-1

嘗試在谷歌登錄節省您的姓名,形象和獨特的ID在你的數據庫,並從數據庫收到的唯一的ID從參與者的幫助下把你的ID來參加onRoomConnected()和檢索參與者的形象和名稱。