用第二个屏幕启动应用程序

时间:2013-02-06 05:11:33

标签: android

我对Android活动有疑问。

我有我的第一个登录屏幕(MainActivity),然后从那里转到Secondscreen,现在当我从秒屏幕按下退出按钮我要关闭应用程序(或android主屏幕),然后下次打开我要启动的应用程序应用秒屏。

我在第二个屏幕上尝试了这个代码,但它无法正常工作

public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) 
{
    if (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_ESCAPE)                                 
    {      

        //My logic here

        return true;
    } 
    return false;
}

5 个答案:

答案 0 :(得分:1)

  1. 首次使用该应用程序时,使用LoginScreen启动, 然后调用finish()。还存储共享首选项以了解该内容 应用程序至少使用一次(登录)

  2. 由于您已完成登录屏幕,当您在SecondScreen上按后退按钮时,您将进入设备主页,而不是登录屏幕。

  3. 下次要启动应用程序时,请检查sharedPreference是否已登录用户,并在onCreate

  4. 开始时完成LoginScreen

    <强> LoginScreenActivity:

    onCreate(){
    
    //check shared preference if logged in
    if(yes){
    
    startActivity(new Intent(Login.this, Second.class));
    finish();
    }else{
    
    //do all the login here then,
    //set sharedPreference
    startActivity(new Intent(Login.this, Second.class));
    finish();
    }
    
    }
    

答案 1 :(得分:0)

当您开始第二项活动时,使用finish()

完成现有的活动

例如

Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
finish();

此代码将完成您当前的活动,当您在第二个活动中按下后退按钮时,应用程序将关闭。

答案 2 :(得分:0)

在登录活动中,在启动第二个活动后调用完成。

startActivity(i);
finish();

现在如果你按回来它应该关闭应用程序,当你再次启动应用程序时,第二个活动将是可见的。

答案 3 :(得分:0)

有两种方法可以做到:

  1. 在android menifest活动定义中使用“noHistory = true”登录活动。

    <activity android:name="YOUR_FIRST_ACTIVITY"
    android:label="FIRST_ACTIVITY"
    android:noHistory="true" />
    
  2. 您可以在开始第二项活动时完成()第一项活动。

    startActivity(SECOND_ACTIVITY_INTENT);
    FIRST_ACTIVITY.this.finish();
    
  3. 希望它会对你有所帮助。

答案 4 :(得分:0)

我认为你正在尝试下面的事情:

首次安装#

LoginScreen&gt; SecondScreen,当您按下escape时,它将关闭整个应用程序。

第二次#

当您打开应用程序时,它将从第二个屏幕开始,而不是loginScreen。

<强>解决方案

阶段1#

首次登录时将您的登录信息存储在database or sharepreference,并在打开第二个屏幕时将finish()登录屏幕保存。

相位2#

当你第二次打开你的应用check your login info时,如果它存在,那么重定向到第二个活动,否则打开loginScreen