【问题标题】:App crashes when uploading image to firebase storage - Kotlin将图像上传到 Firebase 存储时应用程序崩溃 - Kotlin
【发布时间】:2019-04-07 22:59:04
【问题描述】:

只要我从手机上的路径上传图片,我的应用就会崩溃。用户也成功通过了应用程序的身份验证,并且我已经导入了所有需要的 sdk。可能是 sdk 的版本不正确,因为它不是最新的版本。我关注了这个视频:https://youtu.be/86dkYGeXMaU

这是我的代码:

private fun UploadToFirebaseStorage(){

    if(PhotoUri == null) return

    Log.d("AuthMsgs", PhotoUri.toString())
    val filename = UUID.randomUUID().toString()

    val ref = 
    FirebaseStorage.getInstance().getReference("/images/$filename")

    ref.putFile(PhotoUri!!)
            .addOnSuccessListener {
                Log.d("AuthMsgs", "Photo Succes: " + it.metadata?.path)
            }


}

这是日志猫消息:

2018-11-04 11:29:39.040 20493-20493/com.David.DiveBuddy E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.David.DiveBuddy, PID: 20493
java.lang.SecurityException: Permission Denial: opening provider com.google.android.apps.photos.contentprovider.impl.MediaContentProvider from ProcessRecord{6385df5 20493:com.David.DiveBuddy/u0a340} (pid=20493, uid=10340) that is not exported from uid 10106
    at android.os.Parcel.readException(Parcel.java:1683)
    at android.os.Parcel.readException(Parcel.java:1636)
    at android.app.ActivityManagerProxy.getContentProvider(ActivityManagerNative.java:4263)
    at android.app.ActivityThread.acquireProvider(ActivityThread.java:5475)
    at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2267)
    at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1515)
    at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1129)
    at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:982)
    at android.content.ContentResolver.openFileDescriptor(ContentResolver.java:835)
    at android.content.ContentResolver.openFileDescriptor(ContentResolver.java:789)
    at com.google.firebase.storage.UploadTask.<init>(Unknown Source)
    at com.google.firebase.storage.StorageReference.putFile(Unknown Source)
    at com.David.DiveBuddy.LoginReg.UploadToFirebaseStorage(Login_reg.kt:212)
    at com.David.DiveBuddy.LoginReg.access$UploadToFirebaseStorage(Login_reg.kt:31)
    at com.David.DiveBuddy.LoginReg$registerUser$1.onComplete(Login_reg.kt:153)
    at com.google.android.gms.tasks.zzj.run(Unknown Source)
    at android.os.Handler.handleCallback(Handler.java:751)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6123)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)

【问题讨论】:

标签: android firebase kotlin firebase-storage


【解决方案1】:

您只是忘记将GOOGLE_PHOTOS 权限添加到您的Manifest。

<uses-permission android:name="com.google.android.apps.photos.permission.GOOGLE_PHOTOS"/>

【讨论】:

  • “没用。”可以是很多东西。请提供更多信息。它编译吗?您是否遇到另一个错误?
  • 我自己修好了。
  • @DavidWenzel 你是如何解决这个问题的?我也遇到了
  • @NdaJunior 这是很久以前的事了。所以我真的不记得了。但我会在/如果我发现的时候回来找你。
  • @NdaJunior 好吧,我认为通过不将任何图像上传到 firebase 来解决这个问题。
猜你喜欢
  • 2020-06-01
  • 1970-01-01
  • 2022-11-11
  • 2023-02-02
  • 2022-09-30
  • 1970-01-01
  • 2021-09-18
  • 2017-11-10
  • 2016-09-23
相关资源
最近更新 更多