firebaseAuth.createUserWithEmailAndPassword(email,password)
ユーザー作成後に自動サインインする機能を防止したかったので、secondaryAppコードを削除しようとしてい ます
以下のコードを参考にしました。
FirebaseOptions.Builder fbo = new FirebaseOptions.Builder();
fbo.setApiKey("YOUR_WEB_API_KEY");
fbo.setDatabaseUrl("https://[YOUR_PROJECT_ID].firebaseio.com/");
fbo.setProjectId("YOUR_PROJECT_ID");
fbo.setApplicationId("YOUR_APP_ID"); //Tested, App Id is required.
FirebaseOptions firebaseOptions = fbo.build();
final FirebaseApp secondaryAuth = FirebaseApp.initializeApp([JAVA_CLASS_NAME].this, firebaseOptions, "secondary_db_auth");
それは機能しますが、メソッドを呼び出そうとすると
secondaryAuth.delete()
以下の画像が示すように、メソッドを呼び出せないことを示すエラーが返されます。
firebase [FirebaseApp.delete()][2] のドキュメントを確認しましたが、動作することを期待していますが、そうではありません。他のすべてが機能しdelete()
ないだけでうまくいきます
https://firebase.google.com/docs/reference/admin/java/reference/com/google/firebase/FirebaseApp
コード全体の実装は次のとおりです。
private void CreateAccount() {
String name = username.getText().toString();
String phone = phoneNumber.getText().toString();
String email = emailAddress.getText().toString();
String password = passwordTxt.getText().toString();
String confirmPassword = confirmPasswordTxt.getText().toString();
String points = pointsTransfer.getText().toString();
final DatabaseReference RootRef;
final FirebaseAuth firebaseAuth;
FirebaseOptions.Builder fbo = new FirebaseOptions.Builder();
fbo.setApiKey("YOUR_WEB_API_KEY");
fbo.setDatabaseUrl("https://[YOUR_PROJECT_ID].firebaseio.com/");
fbo.setProjectId("YOUR_PROJECT_ID");
fbo.setApplicationId("YOUR_APP_ID"); //Tested, App Id is required.
FirebaseOptions firebaseOptions = fbo.build();
final FirebaseApp secondaryAuth = FirebaseApp.initializeApp([JAVA_CLASS_NAME].this, firebaseOptions, "secondary_db_auth");
RootRef = FirebaseDatabase.getInstance().getReference().child("Users");
firebaseAuth = FirebaseAuth.getInstance(secondaryAuth);
if(TextUtils.isEmpty(name)){
Toast.makeText(this, "Please insert your user name.", Toast.LENGTH_SHORT).show();
}
else if(TextUtils.isEmpty(phone)){
Toast.makeText(this, "Please insert your phone number.", Toast.LENGTH_SHORT).show();
}
else if(TextUtils.isEmpty(email)){
Toast.makeText(this, "Please insert your phone number.", Toast.LENGTH_SHORT).show();
}
else if(TextUtils.isEmpty(password)){
Toast.makeText(this, "Please insert your password.", Toast.LENGTH_SHORT).show();
}
else if(TextUtils.isEmpty(confirmPassword)){
Toast.makeText(this, "Please insert your password again.", Toast.LENGTH_SHORT).show();
}
else if(!password.equals(confirmPassword)){
Toast.makeText(this, "Password does not match.", Toast.LENGTH_SHORT).show();
}
else if(TextUtils.isEmpty(points)){
Toast.makeText(this, "You need to send some points", Toast.LENGTH_SHORT).show();
}
else if(Float.parseFloat(currentUser.getPoints())<Float.parseFloat(points)){
Toast.makeText(this, "You do not have sufficient points.", Toast.LENGTH_SHORT).show();
}
else{
loadingBar.setTitle("Create Account");
loadingBar.setMessage("Please wait, we are checking the credentials.");
loadingBar.setCanceledOnTouchOutside(false);
loadingBar.show();
ValidateAccount(name, phone,email, password, confirmPassword,points, RootRef, firebaseAuth);
secondaryAuth.delete();
}
}