是否有可能在android studio中的splash和主要活動之間獲得登錄活動.`應該在splash活動之後並在main.how之前獲取它。如何在主活動之前獲得登錄活動
<?xml version="1.0" encoding="utf-8"?>
是否有可能在android studio中的splash和主要活動之間獲得登錄活動.`應該在splash活動之後並在main.how之前獲取它。如何在主活動之前獲得登錄活動
<?xml version="1.0" encoding="utf-8"?>
你可以改變你的清單這樣
<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>
,並確保你的意圖是爲了
你打電話時飛濺的活動,裏面飛濺活動只是調用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那的onclick後。
所以,你的流程應該是這樣的,
SplashActivity - > LoginActivity - > MainActivity
做這樣的事情:
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
}
}
}
appropriare我已經回答了類似的問題兩個或三個星期前。找到答案here。
但是,在我看來,創建一個僅僅用於顯示飛濺的活動並不是那麼好。從本質上講,你的應用程序應該儘可能少的活動。毫無疑問,活動是應用程序的主要和最重要的組件。因此,僅僅爲了顯示一個閃屏,您可能想要在您的LoginActivity
中顯示該閃屏,直到加載更多資源。一旦加載完畢,您可以隱藏該飛濺並顯示登錄表單。
只需將第一個活動設置爲您的LoginActivity。 – barq
那麼是什麼問題? –
我想先濺開活動,然後登錄, – sun