Я использую Glide, чтобы показать изображение, используя URL, извлеченный из хранилища базы данных.Раньше это прекрасно работало, но сейчас возникает проблема, и в logcat нет ошибок, поэтому я не могу исправить ошибку.Вот мой код для загрузки изображения.
public void showImage(){
mStorageRef.child("TimeTable").getDownloadUrl().addOnSuccessListener(this,new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
url = uri.toString();
progressDialog.dismiss();
Toast.makeText(TimeTable.this, "Loaded",Toast.LENGTH_SHORT).show();
GlideApp.with(TimeTable.this)
.load(url)
.placeholder(R.mipmap.ic_launcher_round)
.error(R.mipmap.ic_launcher_round)
.into(image);
}
});
}
и вот класс AppGlideModule согласно Doc:
@GlideModule
public class MyAppGlideModule extends AppGlideModule {
@Override
public void registerComponents(Context context, Glide glide, Registry registry) {
registry.append(StorageReference.class, InputStream.class,
new FirebaseImageLoader.Factory());
}}
Он показывает пустой экран без ошибок и ничего.Я проверил URL-адрес изображения, URL-адрес правильный, и он загружается при открытии в браузере, но он не работает с Glide.
Позже я обнаружил, что он работает с устройствами, работающими ниже SDK27 (Android 8) и обнаружил, что есть проблема с Glide After SDK27, но нигде нет решения.Я уже попробовал метод помещения android:usesCleartextTraffic="true"
в Манифест, но это не имело большого значения.