【问题标题】:carry out firebase authentication from a service class?从服务类执行firebase身份验证?
【发布时间】:2019-10-03 13:04:30
【问题描述】:

我有一项针对新用户的活动,其中包含 3 条编辑文本,一条用于输入他们的电子邮件地址、设置密码和输入收据编号。在使用firebase注册之前,用户应该通过银行支付服务费用并使用收据号码在应用程序中确认付款,当用户点击注册按钮时,输入的收据号码会被发送到私人服务器,私人服务器会发回一个ID。这一切都有效,但我试图从 json 响应中将解析的 ID 号连同用户输入的电子邮件地址和密码一起发送到服务类,注册方法在 30 秒后开始。在注册方法中,ID 被发送到服务器进行验证,当从服务器接收到有效的 json 响应时,它使用从主要活动传递的字符串密码和电子邮件地址创建一个新的 firebase 用户。但是,我在将电子邮件地址和密码放入 firebase 创建新用户方法的同一行中收到空指针错误。以下是我如何从主要活动中获取电子邮件地址和密码

public Signupservice() {
 String a;
 String b;
}
...... 
 @Override
public int onStartCommand(Intent intent, int flags , int startId){

     a=intent.getStringExtra(FILENAMED);
     b=intent.getStringExtra(FILEEXD);
 ...... 
  firebaseAuth.createUserWithEmailAndPassword(a, b).addOnCompleteListener( new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if (!task.isSuccessful()) {
                        Toast.makeText(getApplicationContext(), "signupunsuccessful: " + task.getException().getMessage(), Toast.LENGTH_SHORT).show();
                    } else {
                        Toast.makeText(getApplicationContext(),"suucessfull",Toast.LENGTH_SHORT).show();

但是我从 logcat 收到以下错误,参考方法 create user with email and password 的第一行代码

2019-10-02 20:40:15.539 20184-20184/com.chomba.haroldking.kupa E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.chomba.haroldking.kupa, PID: 20184
java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.tasks.Task com.google.firebase.auth.FirebaseAuth.createUserWithEmailAndPassword(java.lang.String, java.lang.String)' on a null object reference
    at com.chomba.haroldking.kupa.Signupservice.parseData(Signupservice.java:159)

下面是字符串是如何发送到服务类的

 Intent startServiceIntent=new Intent(Signupuser.this,Signupservice.class);
    startServiceIntent.putExtra(FILENAMED,emailIDfed);
         startServiceIntent.putExtra(FILEEX,gce);
         startServiceIntent.putExtra(FILENAMEDD,paswdfed);

请提供帮助

【问题讨论】:

  • firebaseAuth = null 你在哪里初始化的?

标签: java android service firebase-authentication


【解决方案1】:

firebaseAuth 为空。看起来你在第一次使用它之前没有分配它。确保首先分配它:firebseAuth = FirebaseAuth.getInstance()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-12
    • 2019-02-14
    • 1970-01-01
    相关资源
    最近更新 更多