如何解决在推送通知中将来自 firebase 的图像显示为大图像
我正在尝试将来自 Firebase 的图像显示为推送通知中的图像。但是,每当我尝试使用以下代码显示此内容时,都会出现异常
private void getBitmapAsyncAndDoWork(String imageUrl) {
final Bitmap[] bitmap = {null};
Glide.with(getApplicationContext())
.asBitmap()
.load(imageUrl)
.addListener(new RequestListener<Bitmap>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e,Object model,Target<Bitmap> target,boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(Bitmap resource,DataSource dataSource,boolean isFirstResource) {
return false;
}
})
.into(new CustomTarget<Bitmap>() {
@Override
public void onResourceReady(@NonNull Bitmap resource,@Nullable Transition<? super Bitmap> transition) {
bitmap[0] = resource;
// Todo Do some work: pass this bitmap
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder) {
}
});
}
以下是异常详情
图像路径或访问没有问题,因为我可以使用下面的代码在另一个活动中显示相同的图像而没有任何问题
private void displayImage () {
FirebaseStorage storage = mFirebaseService.getFirebaseStorageInstance();
getBitmapAsyncAndDoWork(mSpelling.getimagePath());
// Reference to an image file in Cloud Storage
StorageReference storageReference = storage.getReferenceFromUrl(mSpelling.getimagePath());
// ImageView in your Activity
ImageView imageView = findViewById(R.id.imageView);
Glide.with(this).load(storageReference).into(imageView);
}
有人可以确认我是否以正确的方式编码以在通知中显示 firebase 图像吗?还有其他方法可以显示图像吗?
解决方法
看起来您的第一个片段正在尝试通过 Glide 自行加载图像,而第二个片段似乎是 using FirebaseUI to load and display the image。
从评论中我们还可以看到您在第一个片段中传递了一个 gs://
URL,Glide 无法识别该 URL,因为它没有对 gs://
协议的内置支持。
因此,您要么必须在第一个代码段中使用相同的 FirebaseUI 方法,要么您可以generate a download URL,这是 Glide 内置支持的 https://
URL。>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。