我的主要目标: LoginActivity是要启动的默认活动。我希望我的homeactivity首先启动而不使用android.manifest由于一些问题我无法改变或搞乱它。在我的家庭活动中,我想要一个按钮或一个浮动动作按钮来返回LoginActivity。
解释我是如何尝试这样做的: 我正在使用SendBird SDK的示例程序来构建我的应用程序。但是我不希望首先加载SendBird SDK的LoginActivity,而是希望我的HomeActivity首先加载,所以我在LoginActivity.java onCreate中使用了以下代码。
LA#
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent startActivity = new Intent(LoginActivity.this, HomeActivity.class);
startActivity(startActivity);
finish();
}
}, 0001);
在我的家庭活动中,我制作了一个浮动操作按钮,使用意图
返回LoginActivityIntent intent = new Intent(HomeActivity.this, LoginActivity.class);
startActivity(intent);
然后我执行了应用程序,正如预期的那样HomeActivity首先出现。然后我点击浮动操作按钮,再次出现HomeActivity。我知道这是因为LoginActivity.java中的代码(LA#)而发生的问题,因为当浮动操作按钮导致Login Activity时,代码(LA#)告诉LoginActivity再次返回HomeActivity,因此它是连续的周期。我现在想知道如何在LoginActivity中使这段代码(LA#)在启动期间只工作一次,这样从下次开始它就不会回到HomeActivity而只停留在LoginActivity。
或者有没有其他方法来实现我的目标?
答案 0 :(得分:1)
简单的解决方案是在sqlite数据库中有一个布尔值,当应用程序首次启动时,加载初始活动,如果活动成功,则将该布尔值设置为true,然后每次加载应用程序时将其存储在数据库中之后,检查数据库中的值,如果是,则跳过该活动; Hacky但直截了当地实现。