猿问

无法调用方法 FirebaseApp.delete()

我正在尝试删除 secondaryApp 代码,因为我想阻止该功能 firebaseAuth.createUserWithEmailAndPassword(email,password)在用户创建后自动登录


我参考了下面的代码:


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);

    }


繁华开满天机
浏览 161回答 1
1回答

HUH函数

FirebaseApp.delete()据我在参考文档中看到的,没有任何方法。一旦您创建了一个FirebaseApp实例,它将在该应用程序的生命周期内存在。鉴于FirebaseApp实例非常轻量级,这通常不成问题。但他们当然可以保留更昂贵的资源,例如服务实例。如果这对您的应用程序来说是一个问题,请务必隔离名称应用程序实例及其服务的使用,以便在不再需要它们时可以将它们作为垃圾回收。听起来您想检测是否已经初始化了FirebaseApp,您可以通过调用getApps()、遍历结果并检查每个结果的名称来完成。或者,您可以调用getInstance("secondary_db_auth")并处理应用程序实例尚不存在时抛出的异常。
随时随地看视频慕课网APP

相关分类

Java
我要回答