当前位置: 首页 > 知识库问答 >
问题:

Flutter Firebase手机不适用于Android

谢高峯
2023-03-14

我正在尝试使用firebase手机验证登录,但它不起作用。代码没有被发送。我曾尝试使用“keytool-list-v-keystore~/.android/debug.keystore-alias androiddebugkey-storepass-android-keypass-android”添加sha-1和sha-256键(我也尝试了其他方法),但仍然不起作用。我试图启用android设备验证API,但没有任何效果。我不知道我还能做什么,我已经尝试了一切。

以下是代码:

      Future<void> _login() async {
    final _firebaseAuth = FirebaseAuth.instance;
    print('trying to send code');
    _firebaseAuth.verifyPhoneNumber(
      phoneNumber: '<myphonenumberhere>',
      verificationCompleted: (phoneAuthCredential) {
        print('verification completed');
      },
      verificationFailed: (exception) {
        print('verification failed');
      },
      codeSent: (verId, forceResToken) {
        print('code sent');
      },
      codeAutoRetrievalTimeout: (verId) {
        print('auto retieval timeouted');
      },
    );
  }
    I/flutter ( 5839): trying to send code
E/zzbf    ( 5839): SafetyNet Attestation fails basic integrity.
I/Timeline( 5839): Timeline: Activity_launch_request time:94668823 intent:Intent { act=com.google.firebase.auth.internal.ACTION_SHOW_RECAPTCHA pkg=com.example.test_phone_auth cmp=com.example.test_phone_auth/com.google.firebase.auth.internal.RecaptchaActivity (has extras) }
W/ActivityThread( 5839): handleWindowVisibility: no activity for token android.os.BinderProxy@7547327
W/test_phone_aut( 5839): Accessing hidden field Ljava/nio/Buffer;->address:J (light greylist, reflection)
W/zzdk    ( 5839): keyset not found, will generate a new one
W/zzdk    ( 5839): java.io.FileNotFoundException: can't read keyset; the pref value GenericIdpKeyset does not exist
W/zzdk    ( 5839):  at com.google.android.gms.internal.firebase-auth-api.zzdo.zzc(com.google.firebase:firebase-auth@@20.0.1:10)
W/zzdk    ( 5839):  at com.google.android.gms.internal.firebase-auth-api.zzdo.zzb(com.google.firebase:firebase-auth@@20.0.1:1)
W/zzdk    ( 5839):  at com.google.android.gms.internal.firebase-auth-api.zzat.zzi(com.google.firebase:firebase-auth@@20.0.1:1)
W/zzdk    ( 5839):  at com.google.android.gms.internal.firebase-auth-api.zzdj.zzi(com.google.firebase:firebase-auth@@20.0.1:1)
W/zzdk    ( 5839):  at com.google.android.gms.internal.firebase-auth-api.zzdj.zzd(com.google.firebase:firebase-auth@@20.0.1:2)
W/zzdk    ( 5839):  at com.google.firebase.auth.internal.zzk.<init>(com.google.firebase:firebase-auth@@20.0.1:7)
W/zzdk    ( 5839):  at com.google.firebase.auth.internal.zzk.zza(com.google.firebase:firebase-auth@@20.0.1:3)
W/zzdk    ( 5839):  at com.google.firebase.auth.internal.RecaptchaActivity.zzd(com.google.firebase:firebase-auth@@20.0.1:9)
W/zzdk    ( 5839):  at com.google.android.gms.internal.firebase-auth-api.zzth.<init>(com.google.firebase:firebase-auth@@20.0.1:13)
W/zzdk    ( 5839):  at com.google.firebase.auth.internal.RecaptchaActivity.onResume(com.google.firebase:firebase-auth@@20.0.1:43)
W/zzdk    ( 5839):  at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1413)
W/zzdk    ( 5839):  at android.app.Activity.performResume(Activity.java:7400)
W/zzdk    ( 5839):  at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3820)
W/zzdk    ( 5839):  at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3860)
W/zzdk    ( 5839):  at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
W/zzdk    ( 5839):  at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
W/zzdk    ( 5839):  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
W/zzdk    ( 5839):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831)
W/zzdk    ( 5839):  at android.os.Handler.dispatchMessage(Handler.java:106)
W/zzdk    ( 5839):  at android.os.Looper.loop(Looper.java:201)
W/zzdk    ( 5839):  at android.app.ActivityThread.main(ActivityThread.java:6810)
W/zzdk    ( 5839):  at java.lang.reflect.Method.invoke(Native Method)
W/zzdk    ( 5839):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
W/zzdk    ( 5839):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
I/zzjy    ( 5839): Provider GmsCore_OpenSSL not available
W/Activity( 5839): Slow Operation: Activity com.example.test_phone_auth/com.google.firebase.auth.internal.RecaptchaActivity onResume took 219ms
I/DpmTcmClient( 5839): RegisterTcmMonitor from: com.android.okhttp.TcmIdleTimerMonitor
W/System  ( 5839): Ignoring header X-Firebase-Locale because its value was null.

共有1个答案

端木冷勋
2023-03-14

如果在模拟器上测试它,则需要包含依赖项androidx。浏览器:浏览器使其工作。

SHA256密钥和Android设备验证API用于真实设备通过Safetynet检查。

查看启用应用验证部分和我在Flutterfire问题线程中的响应。

 类似资料:
  • 当我在Android手机上调试应用程序时,我绝对没有遇到任何错误,但在AVD上,我一开始就得到了一个NullPointerException()。我的Android设备在22 API的Lollipop(5.1.1)上运行,我的AVD在28 API的Pie(9.0)上运行。我在gradle中将最小SDK设置为21,编译SDK设置为28。 这是错误: E/AndroidRuntime:致命异常:主进程

  • 我在一个网站上工作,遇到了一个问题,点击我的“删除”链接会出现一个错误页面。在localhost上运行良好-无法理解为什么在Heroku站点上会有所不同。 有人知道这是怎么回事吗? 我的“图片”控制器: 我的图片/新视图: 以下是我尝试删除图片时的heroku日志(从导航到新图片页面开始(同一视图中的新建和编辑功能): 2015-11-15T16:13:49.189857 00:00 heroku

  • 我为fips证书生成实现了Bouncy Castle,这在物理linux环境下运行良好,但在linux虚拟机上,代码被困在密钥对生成上。以下是我编写的代码: 我找到了一个类似的帖子,但它对我不起作用。Bouncy Castle不适用于linux机器 初始电流熵值为1700(按照给定的步骤,应为3000-4000)。我尝试了给定的步骤,熵值增加到2600(按照给定的步骤,它应该在4000以上)。 我

  • 本文向大家介绍适用于手机端的jQuery图片滑块动画,包括了适用于手机端的jQuery图片滑块动画的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了基于jQuery实现的手机端图片滑块动画源码,供大家参考,具体内容如下 效果图: 在线预览 下载地址 实例代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 问题内容: 嗨,我只是简单地尝试在www.example.com上获取h1标签,该标签显示为“ Example Domain”。该代码适用于http://www.example.com,但不适用于https://www.exmaple.com。我该如何解决这个问题?谢谢 问题答案: PhantomJSDriver不支持(所有)DesiredCapabilities。 你会需要: 记录在这里:htt

  • 所以我使用这种方法写入文件,它在windows上运行完全正常,但在mac上运行时,它会创建文件,但它们是空的。 我知道数据是正确的,因为它打印正确。感谢您的任何帮助,这真的让我绊倒了。