是否可以在android studio中的splash和main活动之间获取登录活动。应该在启动活动之后和main.how之前获取它。
<?xml version="1.0" encoding="utf-8"?>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity
android:name=".Splash"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Register"
android:label="@string/title_activity_register"
android:theme="@style/AppTheme.NoActionBar"/>
<activity android:name=".MainActivity"
android:theme="@style/AppTheme.NoActionBar"/>
</application>
答案 0 :(得分:1)
当您调用启动活动时,内部启动活动只需调用loginactivity,如果您正在登录活动,则在按下按钮时,请调用mainactivity。就是这样。
public class SplashActivity extends Activity {
private final int STR_SPLASH_TIME = 3000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
startSplashTimer();
}
private void startSplashTimer() {
try {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
Intent intent = new Intent(SplashActivity.this, LoginActivity.class);
startActivity(intent);
finish();
}
}, STR_SPLASH_TIME);
} catch (Exception e) {
e.printStackTrace();
}
}
从 SplashActivity ,它将转到 LoginActivity ,当按下这个按钮调用 MainActivity 后发生这种情况。
所以你的流程应该是这样的,
SplashActivity - &gt; LoginActivity - &gt; MainActivity
答案 1 :(得分:1)
您可以像这样更改您的清单
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:logo="@drawable/icon"
>
<activity
android:name=".SplashActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".LoginPage"></activity>
<activity android:name=".MainPage"></activity>
</application>
并确保您的意图按顺序适用
答案 2 :(得分:1)
我在两三个星期前回答了类似的问题。找到答案here。
但是,在我看来,创建一个只是为了展示引人注目的活动并不是那么好。从本质上讲,您的应用应该尽可能少的活动。毫无疑问,活动是应用程序的主要和最重要的组件。因此,为了显示引人注目,您可能希望在加载更多资源之前在sizeof(textStuff)/sizeof(textStuff[0])
中显示该问题。加载完所有内容后,您可以隐藏该启动并显示登录表单。
答案 3 :(得分:0)
做这样的事情:
SplashActivity.java
public class SplashActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chat_activity);
...
if(!alreadyLoggedIn()) {
Intent intent = new Intent(SplashActivity.this, LoginActivity.class);
startActivity(intent);
} else {
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
startActivity(intent);
}
}
}
LoginActivity.java
public class LoginActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.chat_activity);
if(loginSuccessful()) {
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
} else {
// show ERROR
}
}
}