android - Firebase 存储无法下载适用于 Android OS 16 的文件
问题描述
我有一个从 Firebase 存储下载文件的 Android 应用程序,它在 Android API 级别 23 及更高版本上运行良好。但是,对于像 Android API 级别 16 这样的版本,它会失败并出现以下异常:
05-15 16:42:32.921 3909-3952/com.X.Y E/StorageException: StorageException has occurred.
An unknown error occurred, please check the HTTP result code and inner exception for server response.
Code: -13000 HttpResult: 0
Unable to open stream
java.io.IOException: Unable to open stream
at com.google.firebase.storage.StreamDownloadTask$zza.zzp(Unknown Source)
at com.google.firebase.storage.StreamDownloadTask$zza.zza(Unknown Source)
at com.google.firebase.storage.StreamDownloadTask.run(Unknown Source)
at com.google.firebase.storage.StorageTask.zzl(Unknown Source)
at com.google.firebase.storage.zzq.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
Caused by: android.os.RemoteException
at com.google.android.gms.internal.firebase_storage.zzp.<init>(Unknown Source)
at com.google.android.gms.internal.firebase_storage.zzp.zzb(Unknown Source)
at com.google.firebase.storage.StorageReference.zzd(Unknown Source)
at com.google.firebase.storage.StreamDownloadTask.zzn(Unknown Source)
at com.google.firebase.storage.StreamDownloadTask.zza(Unknown Source)
at com.google.firebase.storage.zzw.call(Unknown Source)
at com.google.firebase.storage.StreamDownloadTask$zza.zzp(Unknown Source)
at com.google.firebase.storage.StreamDownloadTask$zza.zza(Unknown Source)
at com.google.firebase.storage.StreamDownloadTask.run(Unknown Source)
at com.google.firebase.storage.StorageTask.zzl(Unknown Source)
at com.google.firebase.storage.zzq.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
下载代码:
final StorageReference pathReference = mStoragePath.getReference().child(mRootPath + inPath);
final StreamDownloadTask downloadTask = pathReference.getStream();
依赖项:
com.google.firebase:firebase-core:15.0.2
com.google.firebase:firebase-firestore:16.0.0
com.google.firebase:firebase-storage:15.0.2
解决方案
如果您的手机上未更新 google play 服务,则可能会发生这种情况。确保您拥有最新版本。
如果您的版本是最新的,请在 setContentLanguage 中检查您应该只使用 2 个字母(例如“en”)。你也应该在 github 中检查这个答案,这取决于你的问题
推荐阅读
- php - WooCommerce、代码片段和 WPML:允许来自新国家/地区的翻译
- azure - Azure 发布管道 - 如何设置代理池
- javascript - 纯JS中表格元素的下一个/上一个按钮
- python - 为什么这个语句不起作用,我已经导入了数学库
- flutter - Flutter Snackbar 更新状态
- c++ - c++ / omnet++ 中未定义的引用
- raku - raku:解析部分的降价语法
- asp.net - How to check the length of decimal types with fluent validation?
- c++ - 更改 HWND 是否在运行时处于最顶层
- reactjs - 无法在反应中获取