我的应用程序需要启动画面。 尝试创建一个具有我的初始屏幕图像的 Activity ;并尝试使用 for 循环和 Timer 类来引入时间延迟。但它不是那样工作的。 我做错了吗?如果是,正确的方法是什么?
最佳答案
上述解决方案很好,但是如果用户在启动延迟结束之前按下后退键(并关闭您的应用程序)怎么办。 该应用程序可能仍会打开下一个 Activity,这并不是真正的用户友好。
这就是我使用自定义处理程序并删除 onDestroy() 中所有未决消息的原因。
public class SplashActivity extends Activity
{
private final static int MSG_CONTINUE = 1234;
private final static long DELAY = 2000;
@Override
protected void onCreate(Bundle args)
{
super.onCreate(args);
setContentView(R.layout.activity_splash);
mHandler.sendEmptyMessageDelayed(MSG_CONTINUE, DELAY);
}
@Override
protected void onDestroy()
{
mHandler.removeMessages( MSG_CONTINUE );
super.onDestroy();
}
private void _continue()
{
startActivity(new Intent(this, SomeOtherActivity.class));
finish();
}
private final Handler mHandler = new Handler()
{
public void handleMessage(android.os.Message msg)
{
switch(msg.what){
case MSG_CONTINUE:
_continue();
break;
}
}
};
}
关于android - 在 Android 应用程序中设置启动画面的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12409767/