如此前一次活动之后如何前往活动假设我去了活动1 - > activity2 activity2 - > activity3 activity3 - > activity1那么工作怎么样? 当我按下按钮时,回到activity1?我使用这个,但它不工作告诉我如何前往访问过的活动?
Intent intent = new Intent(Activity4.this, Activity1.class);
startActivity(intent);
i also use this code is not work for me
Intent i = getIntent();
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
//finish(); finish just previous acitivity is not work for me
答案 0 :(得分:0)
实际上,实现方式是这样的:
Intent intent = new Intent(Activity3.this, Activity1.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
这会杀死Activities
以上的所有Activity1
,然后再回到它。希望这会有所帮助。
答案 1 :(得分:0)
将android:launchMode =“singleTask”属性添加到AndroidManifest.xml文件中:
activity android:name=".Activity1" android:launchMode="singleTask"
这非常重要。如果您不添加该属性,则将始终在每个intent上重新创建您的活动,并且将重新初始化其状态。这就是您收到错误消息并且应用程序崩溃的原因。
然后使用以下代码:
Intent i = new Intent(Activity3.this, Activity1.class); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i);
答案 2 :(得分:0)
您可以将清单上的true设置为活动2上的noHistory。 不需要额外的代码。
答案 3 :(得分:0)
谢谢它正在运作
Intent i = new Intent(Activity3.this, Activity1.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);