Dan*_*ite 3 android android-intent android-activity
我正在使用Intents在不同的活动之间切换.对于一个Activity,我希望它清除历史堆栈,因此当用户按下后退按钮时,它会将它们作为Home而不是我的应用程序中的先前活动.
小智 6
我必须为我的项目实现同样的事情.我最终做的是替换:startActivity(i); with startActivityForResult(i,UniqueId); 在我希望成为"历史堆栈"一部分的所有活动中.
然后实施:
setResult(UniqueId);
finish();
Run Code Online (Sandbox Code Playgroud)
在孩子活动中我想要关闭孩子并返回"home/root".
在父活动中,我实施了:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == UniqueId && resultCode == UniqueId) {
setResult(UniqueId);
finish();
}
super.onActivityResult(requestCode, resultCode, data);
}
Run Code Online (Sandbox Code Playgroud)
这实际上意味着如果子活动发送了"home/root"结果(由UniqueId表示),该子活动的所有父母都使用了"startActivityForResult(i,UniqueId);" 也会关闭.
希望有道理吗?
| 归档时间: |
|
| 查看次数: |
3819 次 |
| 最近记录: |