#java #android #imageview #android-glide #google-authentication
Вопрос:
Я пытаюсь использовать библиотеку Glide, для которой я добавил зависимости:
. Мое имя и адрес электронной почты отображаются успешно, но моя фотография-нет. Вот фрагмент кода:
//controls
View headerView = navigationView.getHeaderView(0);
tvUserName = headerView.findViewById(R.id.tvGoogleName);
tvEmail = headerView.findViewById(R.id.tvEmail);
imgProfile = headerView.findViewById(R.id.imgProfile);
//google
GoogleSignInAccount acct = GoogleSignIn.getLastSignedInAccount(this);
if(acct != null){
String userName = acct.getDisplayName();
String email = acct.getEmail();
Uri photo = acct.getPhotoUrl();
if(photo != null){
Toast.makeText(this, "photo is not null", Toast.LENGTH_SHORT).show(); // true
}
else{
Toast.makeText(this, "photo is null", Toast.LENGTH_SHORT).show();
}
tvUserName.setText(userName);
tvEmail.setText(email);
Glide.with(this).load(String.valueOf(photo)).into(imgProfile);
}
Ответ №1:
В соответствии с документом Google
public Uri getPhotoUrl ()
Возвращает URL-адрес фотографии пользователя, вошедшего в систему, если у пользователя есть фотография профиля, и вы создали свою конфигурацию, либо начиная с новых настроек Googlesign.Конструктор(GoogleSignInOptions.DEFAULT_SIGN_IN)} или с помощью GoogleSignInOptions.Builder.requestProfile() настроен; в противном случае значение равно нулю. Не гарантируется, что он будет присутствовать для всех пользователей, даже если он настроен.
Можете ли вы проверить, получаете ли вы действительный URL-адрес или нет из getPhotoUrl
Комментарии:
1. Это сработало, когда я переустановил приложение. Я добавил фотографию в свой аккаунт после того, как уже вошел в систему. Спасибо вам за ваш ответ 🙂