Изображение профиля пользователя Google play games не загружается - PullRequest
0 голосов
/ 06 сентября 2018

Извиняюсь за репост вопроса , но я получаю сообщение об ошибке, используя этот метод, и не могу понять, что я делаю неправильно.

  mPlayersClient = Games.getPlayersClient(this, googleSignInAccount);

    mPlayersClient.getCurrentPlayer()
            .addOnCompleteListener(new OnCompleteListener<Player>() {
                @Override
                public void onComplete(@NonNull Task<Player> task) {
                    String displayName;


                    Log.i("playerId" , task.getResult().getPlayerId());
                    if (task.isSuccessful()) {

                        displayName = task.getResult().getDisplayName();
                        Uri uri = task.getResult().getIconImageUri();
                        Log.i("url", uri.toString());

                        CircleImageView imageView = findViewById(R.id.testImage);
                        //ERROR : here when i use "this" it gets red underline
                        ImageManager manager = ImageManager.create(this);
                        manager.loadImage(imageView, uri, R.drawable.defualt_user_img);


                    }

URI имеет схему содержимого, поэтому я не могу использовать Picasso. При наведении курсора на «это» отображается

Создать (android.content.Context) в ImageManager нельзя применить к (анонимно com.google.android.gms.tasks.OnCompleteListener)

1 Ответ

0 голосов
/ 07 сентября 2018

Не используйте библиотеку CircleImageView, т.е. implementation 'de.hdodenhof:circleimageview:2.2.0'. По-видимому, он не поддерживает схему контента uri , или игры не поддерживают его, не уверен, какой из них имеет место, но он будет работать нормально, если вы используете Android ImageView.

Вот окончательный рабочий код.

 ImageView imageView = findViewById(R.id.testImage);
 ImageManager manager = ImageManager.create(getApplicationContext());
 manager.loadImage(imageView,uri);
...