我有一个Android应用程序.我正在制作带有进度条的加载屏幕.
我在onCreate方法中输入了一个延迟.当计时器结束时,我想完成当前活动并开始一个新活动.
它只是在调用finish()方法时给我一个例外.
public class LoadingScreen extends Activity{
private LoadingScreen loadingScreen;
Intent i = new Intent(this, HomeScreen.class);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.loading);
CountDownTimer timer = new CountDownTimer(10000, 1000) //10 second Timer
{
public void onTick(long l)
{
}
@Override
public void onFinish()
{
loadingScreen.finishActivity(0);
startActivity(i);
};
}.start();
}
}
Run Code Online (Sandbox Code Playgroud)
如何在进度条完成后更改代码以使其结束?
目前我正在开始一个新的,Activity并呼吁finish当前的.
是否有任何可以传递给Intent它的标志,可以在Activity不需要finish从代码中手动调用的情况下完成当前的操作?
在我的应用程序中加载的第一个Activity是一个初始化活动,一旦完成,它就会加载一个新的Activity.我想确保如果用户按下"后退",他们会直接进入启动器,而不是初始化屏幕.旁注,这是最好的方法,还是用某种Intent Flag做得更好?
在新活动上调用startActivity()之后调用finish()是否正确?
onCreate() {
...
startActivity(new Intent(this, NextActivity.class));
finish();
...
}
Run Code Online (Sandbox Code Playgroud)
我仍然采用整个'Message Queue'方法在Android中做事,我的假设是从我的第一个Activity的onCreate()调用startActivity()然后finish ()将记录消息队列中的每个相应消息,但是在继续开始下一个Activity并完成我的第一个Activity之前完成onCreate()的执行.这是正确的理解吗?