假设我有两个活动A和B,其中A包含一个按钮。我希望在按下该按钮时启动活动B,而不需要使用intent。
Intent
的原因是不想让用户重新进入之前的活动,您可以在完成工作后使用finish()
来结束该活动。if(currentUser == null){
startActivity(new Intent(MainActivity.this,StartActivity.class));
finish();
}
所以用户将无法再返回
如果您想在活动结束时执行一些代码
您可以使用onDestroy()
覆盖方法,有时它也会在活动被Android自身杀死时调用,因此您可以添加
isFinishing()函数
在onDestroy()
方法中,它检查应用程序是通过调用finish()
返回true
还是通过其他任何方法返回false
关闭的,然后您可以轻松指定每种情况的代码。
@Override
protected void onDestroy() {
super.onDestroy();
if(isFinishing()){
// Activity is being destroyed by the function `finish()`
// What to do...
}else{
// Activity is being destroyed anonymously without `finish()`
// What to do...
}
}
没有意图,就没有办法从另一个活动开始一个活动。
startActivity(new Intent(Activity_A.this, Activity_B.class));
第二个
Intent intent = new Intent(Activity_A.this, Activity_B.class);
startActivity(intent);
第三方
Intent intent = new Intent(Activity_A.this, Activity_B.class);
startActivityForResult(intent,code);