首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >颤振firebase_auth signInWithCredential不在android上工作。

颤振firebase_auth signInWithCredential不在android上工作。
EN

Stack Overflow用户
提问于 2019-02-06 12:41:07
回答 4查看 9.6K关注 0票数 1

“问候颤栗”开发人员正在为iOS和安卓开发一个应用程序,该应用程序使用电话验证用户,在iOS中一切都很好,但是对于安卓,当这一行被称为“我收到了一个错误:

代码语言:javascript
运行
复制
    final FirebaseUser user = await _auth.signInWithCredential(credential);

错误:

E/颤振(14190):错误:颤振/外壳/普通/贝类(184分)错误:未处理的异常:E/颤振(14190):PlatformException(错误,空引用,零)E/颤振(14190):#0 (package:flutter/src/services/message_codecs.dart:551:7) E/颤振(14190):#1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:292:18) E/颤振(14190):E/颤振(14190):#2 FirebaseAuth.signInWithCredential (file:///Users/pocketcarage/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.8.0+1/lib/src/firebase_auth.dart:211:54) E/颤振(14190):E/颤振(14190):#3 _RegisterState.signIn (package:pocketcarage_official/UI/register.dart:92:43) E/颤振(14190):E/颤振(14190):#4 _RegisterState.smsCodeDialog.(package:pocketcarage_official/UI/register.dart:77:23) E/颤振(14190):#5 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:507:14) E/颤振(14190):#6 _InkResponseState.build。(package:flutter/src/material/ink_well.dart:562:30) E/颤振(14190):#7 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24) E/颤振(14190):#8 TapGestureRecognizer._checkUp (包装:颤振/src/手势/达帕:242:9)E/颤振(14190):#9 TapGestureRecognizer.handlePrimaryPointer (包装:颤振/src/手势/达普:175:7)E/颤振(14190):#10 (package:flutter/src/gestures/recognizer.dart:315:9) E/颤振(14190):#11 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12) E/颤振(14190):#12 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11) E/颤振(14190):#13 _WidgetsFlutterBinding&BindingBase(package:flutter/src/gestures/binding.dart:180:19) E/颤振(14190):#14 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:158:22) E/颤振(14190):#15 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:138:7) E/颤振(14190):#16 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue(package:flutter/src/gestures/binding.dart:101:7) E/ _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:85:7) (14190):#17 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket(package:flutter/src/gestures/binding.dart:85:7)E/颤振(14190):#18 _invoke1 (飞镖:ui/Hooks.Dart:168:13)E/颤振(14190):#19 _dispatchPointerDataPacket (飞镖:ui/钩子:122:5)

它声明PlatformException(错误、空引用、空引用)存在空引用,尽管它在iPhone上100%工作。我搜索了一下,发现颤振插件有一些问题,解决方案是迁移到androidx,我试过了,但是我不断地获得所需的编译(至少28 ),我已经改变了它,我该怎么办呢?

这是被调用的代码

代码语言:javascript
运行
复制
Future<String> signIn(String smsCode) async {

final AuthCredential credential = PhoneAuthProvider.getCredential(
  verificationId: verificationId,
  smsCode: smsCode,
);

final FirebaseUser user = await _auth.signInWithCredential(credential);


final FirebaseUser currentUser = await _auth.currentUser();
DatabaseReference user_db = pDatabase.reference().child("users");
DatabaseReference phone_id = pDatabase.reference().child("phone_id");

String uid = user.uid;
usersModel new_user = new usersModel();
new_user.phone=_phoneController.text;
new_user.email=_emailController.text;
new_user.name=_nameController.text;
user_db.child(uid).child("name").set(new_user.userName);
user_db.child(uid).child("phone").set(new_user.userPhone);
user_db.child(uid).child("email").set(new_user.userEmail);
phone_id.child(new_user.userPhone).set(uid);
assert(user.uid == currentUser.uid);
Navigator.pop(context);
Navigator.of(context).pushNamed('/Home');
return 'signInWithPhoneNumber succeeded: $user';
}
EN

Stack Overflow用户

发布于 2019-11-26 17:15:18

代码语言:javascript
运行
复制
try {
      final AuthCredential credential = PhoneAuthProvider.getCredential(
        verificationId: verificationId,
        smsCode: smsOTP,
      );
      final FirebaseUser user =
          (await _auth.signInWithCredential(credential)).user;
} catch (e) {
      print("Error: $e");
    }
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54553913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档