“问候颤栗”开发人员正在为iOS和安卓开发一个应用程序,该应用程序使用电话验证用户,在iOS中一切都很好,但是对于安卓,当这一行被称为“我收到了一个错误:
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 ),我已经改变了它,我该怎么办呢?
这是被调用的代码
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';
}发布于 2019-11-26 17:15:18
try {
final AuthCredential credential = PhoneAuthProvider.getCredential(
verificationId: verificationId,
smsCode: smsOTP,
);
final FirebaseUser user =
(await _auth.signInWithCredential(credential)).user;
} catch (e) {
print("Error: $e");
}https://stackoverflow.com/questions/54553913
复制相似问题