| 方法執行順序 | 調用 | – |
|---|---|---|
| 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 結果碼
新聞熱點
疑難解答