我正在开发一个聊天库,我想在其中显示登录用户的对话.制作库的原因是我想将它集成到多个项目中.
我现在面临的问题是,即使用户在应用程序内部进行了身份验证,FirebaseAuth也表明用户未登录(FirebaseAuth.getInstance(mFirebaseApp).getCurrentUser()始终返回null).
模块/库如何知道用户已通过身份验证?
我正在尝试以下代码:
mAPIKey = getArguments().getString(ConversationModuleConstants.API_KEY_KEY);
mApplicatoinId = getArguments().getString(ConversationModuleConstants.APPLICATION_ID_KEY);
mDatabaseUrl = getArguments().getString(ConversationModuleConstants.DATABASE_URL_KEY);
FirebaseOptions options = new FirebaseOptions.Builder()
.setApiKey(mAPIKey)
.setApplicationId(mApplicatoinId)
.setDatabaseUrl(mDatabaseUrl)
.build();
boolean hasBeenInitialized = false;
List firebaseApps = FirebaseApp.getApps(getActivity());
for (FirebaseApp app : firebaseApps) {
if (app.getName().equals(FIREBASE_APP_NAME)) {
hasBeenInitialized = true;
mFirebaseApp = app;
}
}
if (!hasBeenInitialized) {
mFirebaseApp = FirebaseApp.initializeApp(getActivity(), options, FIREBASE_APP_NAME);
}
if (FirebaseAuth.getInstance(mFirebaseApp).getCurrentUser() == null) {
Toast.makeText(getActivity(), "Login Required!", Toast.LENGTH_SHORT).show();
return;
}