我有一个带有两个活动的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.java
和Manifest.xml
为什么在getApplicationContext()
中使用new Intent(getApplicationContext(), ...);
?如果在Activity
中调用它,则应使用ActivityName.this