1

这段代码对我有用,可以将 IconUri 加载到 ImageManager 中并保存返回的 Drawable,以便我可以将 Image 加载到 LibGDX 中。

不幸的是,自从从 Google 更新到最新的库(21 天前发布)后,这个方法已经停止工作,我没有收到任何堆栈跟踪或错误消息,除了一个弹出对话框指出“不幸的是,Google Play 服务已停止”。

真正奇怪的是,Google Play 服务并没有停止(我的游戏仍在处理接收到的消息,并在 logcat 中发送),直到我在该对话框上点击“确定”,然后 Google Play 服务关闭。

我会回到旧版本的库,但这个新版本在发送和接收 RealTimeReliable 消息时表现得更好。

谁能明白为什么这会停止使用新图书馆?

此外,如果有人对将播放器头像加载到 Android 中的任何其他方式有任何反馈,然后将其保存到 libGDX 的“本地”目录,以便可以将其拉入并作为 Drawable 放入 libGDX 中,那将是非常感激!

另外,请注意

@Override
public void requestPic(final String participantID){
    //try to pull the pic out
    dLog("attempting to request picture");
    if(CheckRoomisDisconnected()) {
        return;
    }
    for (final Participant p : mRoomCurrent.getParticipants()) {
        if (p.getParticipantId() == participantID){
            dLog("found matching particpantID");
            try {
                runOnUiThread(new Runnable(){
                    //@Override
                    public void run(){
                        ImageManager IM = ImageManager.create(activityContext);
                        IM.loadImage(new ImageManager.OnImageLoadedListener() {
                            @Override
                            public void onImageLoaded(Uri arg0, Drawable drawable) {
                                dLog("Holy Moly it seems to work");
                                if(drawable == null) {
                                    mGHInterface.picLoaded(participantID);
                                } else {
                                        Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();
                                        try {
                                               FileOutputStream out = openFileOutput("pic" + participantID + ".png", Context.MODE_MULTI_PROCESS);
                                               bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
                                               mGHInterface.picLoaded(participantID);
                                        } catch (Exception e) {
                                            e.printStackTrace();
                                             dLog(e.getStackTrace().toString());
                                        }
                                    }

                                }
                            }, p.getIconImageUri());
                    }
                });
                }catch (final Exception ex){
                    dLog(ex.getStackTrace().toString());
                    ex.printStackTrace();
                }

            }
        }
    }
4

0 回答 0