我有一个带有两个活动的android应用程序,MainActivity是该应用程序的开始屏幕,它有一个按钮,该按钮用于启动转到CameraActivity的意图,执行此操作的代码是:

startButton = findViewById(R.id.button_start);
startButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent i = new Intent(getApplicationContext(), CameraActivity.class);
        startActivity(i);
    }
});

但是,当我启动应用程序并启动MainActivity并单击startButton时,应用程序会再次将我直接发送回MainActivity。之后,在第二次尝试单击重新创建的startButton时,我被重定向到MainActivity
在日志中,我可以看到,第一次单击CameraActivity,它试图打开startButton,但返回到CameraActivity,第二次尝试成功打开MainActivity
第一次尝试单击CameraActivity的日志是here,第二次尝试是here

最佳答案

也许你对第二个活动有一些问题,那就是CameraActivity.java?也许这就是为什么它只在第二次尝试后才打开(在崩溃或smth之后)。在startActivity(i);方法调用finish();之后添加并查看将发生什么。再次检查您的CameraActivity.javaManifest.xml
为什么在getApplicationContext()中使用new Intent(getApplicationContext(), ...);?如果在Activity中调用它,则应使用ActivityName.this

10-04 14:21