如何在发布期间制作片段代码功能一次?

时间:2017-05-10 19:14:28

标签: java android android-activity

我的主要目标: 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);

在我的家庭活动中,我制作了一个浮动操作按钮,使用意图

返回LoginActivity
Intent intent = new Intent(HomeActivity.this, LoginActivity.class);
        startActivity(intent);

然后我执行了应用程序,正如预期的那样HomeActivity首先出现。然后我点击浮动操作按钮,再次出现HomeActivity。我知道这是因为LoginActivity.java中的代码(LA#)而发生的问题,因为当浮动操作按钮导致Login Activity时,代码(LA#)告诉LoginActivity再次返回HomeActivity,因此它是连续的周期。我现在想知道如何在LoginActivity中使这段代码(LA#)在启动期间只工作一次,这样从下次开始它就不会回到HomeActivity而只停留在LoginActivity。

或者有没有其他方法来实现我的目标?

1 个答案:

答案 0 :(得分:1)

简单的解决方案是在sqlite数据库中有一个布尔值,当应用程序首次启动时,加载初始活动,如果活动成功,则将该布尔值设置为true,然后每次加载应用程序时将其存储在数据库中之后,检查数据库中的值,如果是,则跳过该活动; Hacky但直截了当地实现。