我正在使用Glide通过Firebase存储器获取的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);
}
});
}
这是根据Doc的AppGlideModule类:
@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());
}}
它显示空白屏幕,没有错误,没有任何错误。我检查了图片的网址,该网址正确无误,并且在浏览器中打开时会加载图片,但不适用于Glide。
我后来发现它可以在运行低于SDK27(Android 8)的设备上运行,并发现Glide After SDK27存在问题,但任何地方都没有解决方案。我已经尝试过将android:usesCleartextTraffic="true"
放入清单中的方法,但是并没有太大的区别。