【问题标题】:FirebasePhoneAuth crash when i use SMS User Consent API当我使用 SMS User Consent API 时 FirebasePhoneAuth 崩溃
【发布时间】:2021-05-09 21:12:20
【问题描述】:

如果我向我的手机发送 SMS,则 SMS User Consent API 收到好的短信。

SMS receive success resualt

如果我通过 FirebaseAuth 向我的手机发送短信,那么我的设备就会收到短信成功。

firebase sended code

但是当我使用 Firevase 发送 SMS 并尝试使用 SMS User Consent API 捕获它时,我会崩溃

02-05 08:47:05.119  packege 26223   -   E   AndroidRuntime   FATAL EXCEPTION: main  
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime   Process: packege   , PID: 26223    
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime   java.lang.RuntimeException: Error receiving broadcast Intent { act=com.google.android.gms.auth.api.phone.SMS_RETRIEVED flg=0x200010 pkg=packege     (has extras) } in com.google.firebase.auth.api.internal.zzgn@19feaf8   
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1656)    
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run(Unknown Source:2)    
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      at android.os.Handler.handleCallback(Handler.java:883)  
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      at android.os.Handler.dispatchMessage(Handler.java:100) 
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      at android.os.Looper.loop(Looper.java:237)  
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      at android.app.ActivityThread.main(ActivityThread.java:8016)    
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      at java.lang.reflect.Method.invoke(Native Method)   
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)    
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1076)    
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime   Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'int java.lang.CharSequence.length()' on a null object reference 
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      at java.util.regex.Matcher.reset(Matcher.java:280)  
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      at java.util.regex.Matcher.<init>(Matcher.java:186) 
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      at java.util.regex.Pattern.matcher(Pattern.java:1034)   
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      at com.google.firebase.auth.api.internal.zzgj.zzc(com.google.firebase:firebase-auth@@20.0.0:112)    
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      at com.google.firebase.auth.api.internal.zzgn.onReceive(com.google.firebase:firebase-auth@@20.0.0:13)   
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1646)    
02-05 08:47:05.119  packege     26223   -   E   AndroidRuntime      ... 8 more  

我尝试在活动开始时运行 SMS User Consent API,在 Firebase 发送 SMS 之后,在 Firebase 发送之前,在 Firebase 发送之后延迟并且总是崩溃:(

这就是我设置 SMS 用户同意 API 的方式 SMS User Consent API setup1SMS User Consent API setup2SMS User Consent API setup3

这就是我设置 FirebasePhoneAuth 的方式 FirebasePhoneAuth setup1FirebasePhoneAuth setup2

再一次,我分别重复一遍,两者都运行良好,但在一起它们会崩溃!

源码https://github.com/StenleyDuFoster/ExampleFirebasePhoneAuthWithOneTapVerificationApi

【问题讨论】:

    标签: android kotlin firebase-authentication broadcastreceiver sms


    【解决方案1】:

    它们不能一起工作,因为同一 api 在某些时候都会崩溃并给出错误。唯一的解决方案是删除 smsretriever 或更改为不包括 firebase 的其他来源。

    【讨论】:

    • 我也做出了这个决定并拒绝通过 firebase 发送消息,但是了解为什么会发生这种情况以及这是否是一个错误仍然会很有趣
    • 当您尝试访问某些内容但未启动某些内容时,会出现空引用对象。对于 ex- int x,print (x) 给出相同的结果
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    • 2023-01-09
    • 2023-02-22
    • 2018-07-10
    • 2016-04-23
    • 2022-06-21
    相关资源
    最近更新 更多