在我的应用程序中,我在android中创建了一个启动画面类型的东西。它应该保持5秒钟。我的问题是我如何在5秒后自动显示另一个活动?启动画面没有按钮,而是在5秒钟后自动显示另一个活动而不点击按钮。
答案 0 :(得分:57)
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
final Intent mainIntent = new Intent(LaunchActivity.this, HomeActivity.class);
LaunchActivity.this.startActivity(mainIntent);
LaunchActivity.this.finish();
}
}, 5000);
答案 1 :(得分:9)
TimerTask task = new TimerTask() {
@Override
public void run() {
Intent intent = new Intent(SplashScreen.this, MainMenu.class);
startActivity(intent);
finishscreen();
}
};
Timer t = new Timer();
t.schedule(task, 5000);
和
private void finishscreen() {
this.finish();
}
答案 2 :(得分:1)
您可以在此使用thread 例如
// thread for displaying the SplashScreen
Thread splashTread = new Thread() {
@Override
public void run() {
try {
int waited = 0;
while(_active && (waited < _splashTime)) {
sleep(500);
if(_active) {
waited += 500;
}
}
} catch(InterruptedException e) {
// do nothing
} finally {
finish();
// start your activity here using startActivity
stop();
}
}
};
splashTread.start();
答案 3 :(得分:0)
这也可以使用android CountDownTimer
类来完成。
请参阅此示例了解5seconds
延迟。
new CountDownTimer(5000, 1000) {
public void onFinish() {
Intent startActivity = new Intent(ThisActivity.this,ActivityToStart.class);
startActivity(startActivity);
finish();
}
public void onTick(long millisUntilFinished) {
}
}.start();
您可能还需要在AndroidManifest.xml
文件
<activity
android:name=".ActivityToStart"
android:label="Back"
android:parentActivityName=".MainActivity" >
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MainActivity" />
</activity>