我创建了一个登录注册App。我使用电子邮件和密码进行注册。我还补充说,如果用户注册成功,设备ID将保存到数据库。我希望id为设备ID注册的帐户,用户无法使用该设备创建新帐户。我还希望,如果数据库设备ID与当前设备ID匹配,则允许用户登录或不登录。我怎么解决这个问题?通过使用查询?
答案 0 :(得分: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();
}
});
}