登录后从其他活动启动应用程序

时间:2014-05-02 06:45:09

标签: android android-activity

我的应用程序以登录活动开始,用户登录后会重定向到MainActivity。关键是,我想在用户已登录时从MainActivity启动应用程序。此外,我还想从MainActivity向后按,不会重定向到LoginActivity。我将登录状态存储在共享优先级中 为了更清楚:
启动器 - > LoginActivity - > MainActivity ---- //未登录时
启动器 - > MainActivity ---- //登录时 MainActivity - (按下后退按钮) - >发射

我搜索了网络和SO问题,因为这是一个直截了当的问题,但似乎我不知道要搜索的正确短语。请帮帮我。

3 个答案:

答案 0 :(得分:3)

要在登录到MainActivity后绕过LoginActivity并转到Launcher onBackPressed,请将清单中的历史记录放入LoginActivity

<activity
    android:name="com.your.package.LoginActivity"
    android:noHistory="true" />

使用SharedPreferences检查是否已登录。

您可以在登录时设置字符串:

SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
editor.putString("login", "yes");
editor.commit();

您可以通过加载SharedPreferences来检查登录值,如下所示:

    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    // "login","no" means default string value is "no", so if you didn't set yes after login, it will be no as default
    if(preferences.getString("login", "no").equals("yes")){
         //login value is yes, so start mainactivity
    }
    else{
        //login value is no, so start loginactivity
    }

答案 1 :(得分:1)

  

启动器 - &gt; LoginActivity - &gt; MainActivity ---- //未登录时

     

启动器 - &gt; MainActivity ---- //登录后

您无法以这种方式更改启动器行为。

要实现您想要做的事情,只需在onCreate(...)的{​​{1}}方法中检查用户是否已登录。如果用户已登录,则执行以下操作...

LoginActivity

如果用户未登录,则执行您需要执行的操作以登录用户,然后调用上述代码。

答案 2 :(得分:0)

将启动画面作为启动器活动,决定启动哪个屏幕。 即如果登录则转到mainactivity,如果没有则登录活动。 主要活动和登录活动将启动屏幕作为您的父活动。

相关问题