2017-10-08 53 views
0

我创建了一个登录注册App。我使用电子邮件和密码进行注册。我还补充说,如果用户注册成功,设备ID将保存到数据库。我想这个ID设备ID注册一个帐户用户不能创建一个新的帐户与该设备我也希望如果数据库设备ID匹配的当前设备ID让用户登录或否则不要。我该如何解决这个问题?通过使用查询?Firebase登录通过DeviceID注册App

回答

0

创建一个名为USerId的子项。并试试

// save data to firebase 
    DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); 
       DatabaseReference ezzeearnRef = rootRef.child("UserId"); 
       ValueEventListener eventListener = new ValueEventListener() { 
        @Override 
        public void onDataChange(DataSnapshot dataSnapshot) { 
         if (dataSnapshot.child(android_id).exists()) { 
          //show what u want 
         } else { 
          //creating a new user 
          firebaseAuth.createUserWithEmailAndPassword(email, password) 
            .addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>() { 
             @Override 
             public void onComplete(@NonNull Task<AuthResult> task) { 
              //checking if success 
              if (task.isSuccessful()) { 
               DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); 

               rootRef.child("UserId").child(android_id).setValue(0); 

               finish(); 
               startActivity(new Intent(MainActivity.this, LoginActivity.class)); 
              } else { 
               //display some message here 
               Toast.makeText(MainActivity.this, "Registration Error", Toast.LENGTH_LONG).show(); 
              } 
              progressDialog.dismiss(); 
             } 
            }); 
         }