【问题标题】:How to change launcher activity in android when a certain condition is met?满足特定条件时如何更改android中的启动器活动?
【发布时间】:2021-05-01 08:50:30
【问题描述】:

我正在为用户和我创建一个具有不同仪表板的应用。如何在用户登录和我登录时更改启动器活动??

这是我需要切换启动器活动的代码部分

 if (email.matches("myEmail@gmail.com")) {
      startActivity(new Intent(LoginActivity.this,AdminDashboardActivity.class));
      finish();
} else {
     startActivity(new Intent(LoginActivity.this,DashboardActivity.class));
     finish();
 }

【问题讨论】:

  • 如果您或任何人登录您的应用程序,这意味着您已经使用启动器活动启动了您的应用程序。我认为您的用例是另一回事。
  • 目前,当我使用我的详细信息登录时,我的启动器活动是用户的仪表板,它没问题,它将进入管理仪表板活动。但是当我关闭应用程序并重新启动它时,它会显示用户仪表板,即使我在关闭应用程序之前已登录
  • 我想你可能对this感兴趣。

标签: java android firebase android-activity backend


【解决方案1】:

我找到了解决办法

我使用 handler 来延迟 intent 和 startActivity,这有助于我根据需要更改活动

【讨论】:

    【解决方案2】:

    您可以从启动屏幕活动中检查它。

    在启动屏幕活动中,您可以执行以下操作:

    if (email.equals(myEmail)) do something
    else do something
    

    【讨论】:

    • 如果您在 splash 中检查任何内容,则表示 splash 始终是您的启动器活动,并且您不会在任何情况下更改启动器活动
    • 我认为这是将每个用户导航到不同屏幕的唯一方法。没有正式的方法来更改启动器活动
    • 是的,但这意味着这个问题没有答案,这在设计上是不可能的。
    • @dinkar_kumar 确切地说,现在我认为这是不可能的,但如果我找到一些女巫可以帮助你的东西,我会对你的问题做出新的回答:-),祝你有美好的一天
    • 另外,如果您愿意,可以查看此类似帖子:stackoverflow.com/questions/29517277/…
    猜你喜欢
    • 2021-06-26
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 2020-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多