回答
可以达到这个答案有两种方法
方法1:创建一个线程并设置在重定向到主应用程序屏幕之后准备好睡眠时间。 方法2:设置处理程序的时间并调用Handler()。postDelayed,在设置时间和重定向到主应用程序屏幕后,它会勉强调用runnable的run方法。
我们在这个给定的方式实现wher我们可以为我们的MainScreen编写代码
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
public class MainScreen extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainscreen);
// METHOD 1
/****** Create Thread that will sleep for 10 seconds *************/
Thread background = new Thread() {
public void run() {
try {
// Thread will sleep for 10 seconds
sleep(10*1000);
// After 10 seconds redirect to another intent
Intent i=new Intent(getBaseContext(),AnotherScreen .class);
startActivity(i);
//Remove activity
finish();
} catch (Exception e) {
}
}
};
// start thread
background.start();
//METHOD 2
/*
new Handler().postDelayed(new Runnable() {
// Using handler with postDelayed called runnable run method
@Override
public void run() {
Intent i = new Intent(MainScreen.this, AnotherScreen.class);
startActivity(i);
// close this activity
finish();
}
}, 10*1000); // wait for 10 seconds
*/
}
@Override
protected void onDestroy() {
super.onDestroy();
}}
的AnotherScreen代码可以是另一个例子访问http://www.androidhive.info/2013/07/how-to-implement-android-splash-screen-2/
如下
import android.app.Activity;
import android.os.Bundle;
public class AnotherScreen extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.anotherScreen);
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}
https://codereview.stackexchange.com/questions/31295/review-request-android-countdowntimer-activity
很酷的解决方案,非常简单!但是有什么办法可以在屏幕上显示一个定时器(与线程连接)吗? – user3158610
是这样做,你可以更新一些小部件或textview,这取决于你的实施! –
如果我使用特殊按钮移动到另一个活动,是否有任何方法可以停止或中断处理方法2中的处理程序?我添加了一个按钮,启动另一个活动,如果它没有点击然后处理程序做,但如果我使用按钮,然后处理程序继续工作,如何解决它?谢谢! – user3158610
试试这个代码
new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished/1000);
}
public void onFinish() {
mTextField.setText("done!");
//start new activity
}
}.start();
这是你正在寻找一个spalshActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash_screen);
try {
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
Intent i = new Intent(SplashScreen.this,
MainActivity.class);
startActivity(i);
finish();
}
};
Timer timer = new Timer();
timer.schedule(timerTask, 300);// DElay of 300 mil sec
} catch (Exception e) {
Log.e("ERROR in Splash Screen", e.toString());
}
}
- 1. 如何为Android中的CountDown计时器设置完成活动?
- 2. 暂停CountDown计时器Android
- 3. CountDown计时器不停止
- 4. 开始另一个活动时取消所有计时器
- 5. Android:开始新的活动,当计时器达到0时
- 6. CountDown计时器查看控制器
- 7. Javascript - 更改countDown计时器countUp时间
- 8. 重新开始活动时计数器没有恢复
- 9. 如何在开始活动时更新日期计数器
- 10. 如何在完成计时器后开始活动?
- 11. 开始活动时出错
- 12. 活动开始时失败
- 13. 开始活动时出错
- 14. 从开始开始活动
- 15. 开始活动
- 16. 如何使用Swift做CountDown计时器
- 17. 如何使CountDown计时器无按钮
- 18. 为什么跳过秒? CountDown计时器
- 19. 开始活动时我的倒计时时钟
- 20. 倒数计时器开始计时
- 21. 活动开始时的动画跳转
- 22. 倒计时器重新启动一次开始另一个活动
- 23. 如果我重新开始活动,如何重新启动倒数计时器?
- 24. Android服务设计 - 从活动开始还是仅在需要时开始?
- 25. 活动未开始
- 26. Android开始活动
- 27. 根据活动开始和持续时间对活动项目进行计数
- 28. 知道活动计时器
- 29. 从片段的意图开始活动开始空白活动
- 30. 活动未开始;另一项活动是开始而不是
我不明白这些o f的问题...对我来说,似乎你已经描述了从 – gunar
这个问题的解决方案你在谈论闪屏? – user3291365
@ user3291365,不是Splach屏幕 – user3158610