1

このコードは、ImageManager に読み込まれた IconUri を取得し、返された Drawable を保存して、Image を LibGDX に読み込むことができるように機能していました。

残念ながら、Google から最新のライブラリ (21 日前のリリース) に更新して以来、このメソッドは機能しなくなり、「残念ながら、Google Play Services が停止しました」というポップアップ ダイアログ以外に、スタック トレースやエラー メッセージが表示されません。

本当に奇妙なことに、そのダイアログで [OK] をクリックするまで、Google Play Services は停止しません (私のゲームは、logcat で受信および送信されたメッセージを処理し続けます)。その後、Google Play Services はシャットダウンします。

ライブラリの古いバージョンに戻りますが、この新しいバージョンも、RealTimeReliable メッセージの送受信により、より適切に動作しています。

なぜこれが新しいライブラリで機能しなくなるのか、誰にもわかりますか?

また、プレイヤーのアバターを Android にロードし、libGDX の「ローカル」ディレクトリに保存して、libGDX の Drawable として取り込んで配置できるようにする他の方法についてフィードバックがある場合は、次のようになります。とても有難い!

また、注意してください

@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