Android 获取上一个activity
时间: 2024-09-20 14:08:57 浏览: 54
android 获取上一个activity返回值的方法
在Android中获取上一个Activity通常有两种方法:
1. **通过历史栈(BackStack)**: 如果你使用了FragmentManager或Activity的startActivityForResult()方法启动新的Activity,并且设置了 requestCode,那么可以通过finishAffinity()、getActivity().getParentFragment()或者onBackPressed()等来回退到上一个Activity。例如:
```java
Intent intent = new Intent(this, NextActivity.class);
startActivityForResult(intent, REQUEST_CODE);
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount() > 0) {
getFragmentManager().popBackStack();
} else {
super.onBackPressed();
}
}
```
2. **使用Intent extras**: 您可以在启动Activity时将数据存储在Intent的extras中,然后在下一个Activity中读取并确定是否是返回的上一个Activity。
```java
Intent intent = new Intent(this, NextActivity.class);
intent.putExtra("previousActivity", true);
startActivity(intent);
// 在NextActivity中检查
if (getIntent().getBooleanExtra("previousActivity", false)) {
// 上一个Activity
}
```
请注意,为了安全地管理活动栈,推荐使用FragmentTransaction或FragmentManager的API。
阅读全文