方法执行顺序 | 调用 | – |
---|---|---|
onCreate() | 创建的时候 | |
onStart() | 可见的时候 | |
onResume() | 获得焦点且可见的时候 | |
onPause() | 失去焦点且可见的时候 | |
onStop() | 不可见的时候 | |
onDistory() | 销毁的时候 | |
onRestart() | 被系统销毁,恢复的时候 |
方法 | 调用 |
---|---|
activity.onFinish() | 依次调用Activity生命周期相关方法正常关闭 |
android.os.PRocess.killProcess(android.os.Process.myPid()) | 绕过Activityd的生命周期强制关闭 |
方法 | 调用 |
---|---|
startActivity(Intent) | 打开一个Activity |
startActivity(Intent,Bundle) | 打开一个Activity并通过Bundle传递参数 |
startActivities(Intent[]) | 打开多个Activity |
startActivities(Intent[],Bundle) | 打开多个Activity并通过Bundle传递参数 |
startActivityForResult(Intent,int requestCode) | 打开一个Activity并获取返回结果, |
startActivityForResult(Intent,int,Bundle) | 返回结果通过onActivityResult()方法获取。 |
- Intent:组件之间调用需要使用Intent,可以调用setExtra()方法传递数据 - Intent[]:Intent数组,根据在数组中的顺序依次调用 - int requestCode:与onActivityResult(int requestCode, int resultCode, Intent data)中的requestCode对应 - Bundle 可以通过Bundle传递数据
步骤 | 方法 | 调用 |
---|---|---|
1 | setResult(int resultCode) | 返回结果码 |
1 | setResult(int resultCode,Intent) | 返回结果码和通过Intent传递数据 |
2 | finish() | 关闭当前Activity |
方法 | 调用 |
---|---|
onActivityResult(int requestCode, int resultCode, Intent data) |
通过startActivityForResult()方法启动另外一个Activity才会调用onActivityResult(),startActivity()方法和startActivities()不会调用此方法。 - int requestCode:通过 startActivityForResult(Intent,int requestCode)设置的请求码 - int resultCode:通过setResult(int resultCode)设置的返回码 - Intent
步骤 | 方法 | 调用 |
---|---|---|
1 | activityA.startActivityForResult(Intent,int requestCode) | Activity调用 |
2 | activityB.setResult(int resultCode) | 返回结果码 |
2 | activityB.setResult(int resultCode,Intent) | 返回结果码和通过Intent传递数据 |
3 | activityB.finish() | 关闭当前Activity |
4 | activityA.onActivityResult(int requestCode, int resultCode, Intent) | Intent是setResult()方法返回的Intent |
- int requestCode 请求码 - int resultCode 结果码
新闻热点
疑难解答