为了账号安全,请及时绑定邮箱和手机立即绑定

关闭时使用 Firebase 保持登录到应用程序

关闭时使用 Firebase 保持登录到应用程序

潇湘沐 2022-11-30 13:48:30
当我运行此命令时:mvn -e package -Pprod verify jib:dockerBuild在jhipster-registry标准项目中,为了对这个应用程序进行 dockerize,我得到了这个错误:[ERROR] Failed to execute goal com.google.cloud.tools:jib-maven-plugin:0.9.11:dockerBuild (default-cli) on project jhipster-registry: Invalid image reference: JHipster Registry:5.0.0 -> [Help 1]org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.google.cloud.tools:jib-maven-plugin:0.9.11:dockerBuild (default-cli) on project jhipster-registry: Invalid image reference: JHipster Registry:5.0.0Help1 中建议的链接是:https://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException我有一个应用程序,如果日志记录操作正常,用户登录屏幕会发送到一个活动。但是每次我关闭应用程序时,应用程序都会询问电子邮件和密码,我想像 instagram 或 facebook 一样保持登录状态。我可以这样做吗?还有我该怎么做,我是否必须更改登录活动中的代码或创建另一个类来保存当前用户,我很困惑。有我的 firebase 登录代码:登录活动;public class SignInActivity extends AppCompatActivity  {private EditText SignInMail, SignInPass;private FirebaseAuth auth;private Button SignInButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    //Get Firebase auth instance    auth = FirebaseAuth.getInstance();    // set the view now    setContentView(R.layout.activity_signin);    SignInMail = (EditText) findViewById(R.id.SignInMail);    SignInPass = (EditText) findViewById(R.id.SignInPass);    SignInButton = (Button) findViewById(R.id.SignInButton);    //Get Firebase auth instance    auth = FirebaseAuth.getInstance();
查看完整描述

4 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

在onCreate函数中,需要加入这段代码

FirebaseUser user=FirebaseAuth.getInstance().getCurrentUser();

如果用户之前已登录,此代码将为您获取当前登录的用户,否则将返回 null。

检查此链接以进一步了解。

获取当前登录的用户 - Firebase Docs

我希望这能解决你的问题。如果你觉得这个答案是正确的,请采纳答案。


查看完整回答
反对 回复 2022-11-30
?
jeck猫

TA贡献1909条经验 获得超7个赞

当用户成功登录时,存储用户 SharedPreferenceence 的登录类型,并在用户重新启动应用程序时再次检查该标志。如果 Shared Preference 包含值,则只需将他带到 Main Screen。

像这样在每次登录时更新此值并检查

PreferencesManager.getInstance().getString(ANNONYMOUS_SIGNUP_DATE, "")) && (PreferencesManager.getInstance().getInt(LOGIN_TYPE, 0) == LOGIN_TYPE_ANNONYMOUS)



查看完整回答
反对 回复 2022-11-30
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

我建议您先使用启动画面并检查用户是否已通过以下方式登录


FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

if (user != null) {

    // User is signed in

    // go to main page

} else {

    // No user is signed in

    // go to loging page

}


查看完整回答
反对 回复 2022-11-30
?
守着一只汪

TA贡献1872条经验 获得超3个赞

由于您对用户进行了身份验证,因此您可以在登录活动之前创建启动画面,并编写以下代码:


FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

if (user != null){

   Intent i = new Intent(SplashActivity.this, HomeActivity.class);

   } else{

   Intent i = new Intent(SplashActivity.this, SignInActivity.class);

   }

在这里,您检查当前是否有登录用户,然后根据条件导航到正确的活动。


查看完整回答
反对 回复 2022-11-30
  • 4 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信