如何强制Android总是从Launcher活动开始

时间:2015-07-01 10:49:15

标签: android

在我的应用中,我有一个启动Activity,它会显示我的徽标并执行一些网络请求,之后它会启动主Activity并完成自己。 问题是我总是需要Android从启动Activity启动我的应用程序并执行请求。但是当用户在主Button上按下主页Activity并且应用程序转到后台时,Android会在一段时间后回收它。当用户再次按下我的应用程序的图标时,Android会从主要活动中选择明星而不是启动Activity。 因此,我需要Android在任何时候回收我的主Activity它从启动活动启动我的应用程序,而不是从主Activity启动我的应用程序。

有办法吗?

2 个答案:

答案 0 :(得分:1)

查看活动生命周期http://developer.android.com/reference/android/app/Activity.html

首先,当应用进入onPause()状态时,我们的数据不会被更改。那么为什么你需要再次调用请求呢?

如果MainActivity finish()中的应用程序严格onPause(),或者您可以从MainActivity本身调用请求。使用onResume()以便您可以获得应用恢复状态。

答案 1 :(得分:0)

您可以创建一个StartActivity,它检查应用程序状态,然后重定向到正确的Activity,然后自行销毁。

例如(尚未登录时重定向到登录屏幕):

public class StartActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        if (MyState.getInstance().isLoggedIn()) {
            Intent intent = new Intent(this, MainActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
            startActivity(intent);
        } else {
            Intent intent = new Intent(this, LoginActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
            startActivity(intent);
        }

        finish();
    }

}