我的启动画面中的Intent有问题

时间:2018-12-16 12:19:17

标签: android splash-screen

在打开应用程序启动屏幕但3秒后我正在构建应用程序,而不是转到另一个页面,它会关闭应用程序

我的代码是:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_menu);


    ImageView iv = findViewById(R.id.iv);
    Animation myanim = AnimationUtils.loadAnimation(this, R.anim.mytransition);
    iv.startAnimation(myanim);
    final Intent intent0 = new Intent(Menu.this, Fehrest.class);
    Thread timer;
    timer = new Thread() {
        public void run () {
            try {
                sleep(3000);

            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            finally {
                startActivity(intent0);
                finish();
            }
        }
    };
    timer.start();

}

}

2 个答案:

答案 0 :(得分:0)

出于测试目的,请从启动活动中删除完成方法。并检查您的另一个应用程序是否关闭。如果另一个活动关闭,那么您可以对另一个活动使用完成方法。

请尝试这一希望,它将对您有帮助...

public class MainActivity extends AppCompatActivity {

    private ImageView iv;
    private static int splashTimeOut=3000;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       iv=(ImageView)findViewById(R.id.iv);

       methodLogin();

    }

private void methodLogin() {

     new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {

            Intent i=new Intent(getApplicationContext(),Fehrest.class);
            startActivity(i);
            finish();
            }
        },splashTimeOut);

  Animation myanim = AnimationUtils.loadAnimation(this,R.anim.mytransition);
  iv.startAnimation(myanim);


}
}

答案 1 :(得分:0)

我不知道这会对您有帮助,也许您可​​以尝试更改代码,或者添加logcat错误以使错误明确

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_menu);

    ImageView iv = findViewById(R.id.iv);
    Animation myanim = AnimationUtils.loadAnimation(this, R.anim.mytransition);
    iv.startAnimation(myanim);
    // redirect to another activity
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            startActivity(new Intent(Menu.this, Fehrest.class));
            finish();
        }
    }, 3000);
}