android AMS 启动Activity方法
时间: 2023-08-22 19:07:12 浏览: 120
在 Android 中,AMS(Activity Manager Service)是一个非常关键的组件,它负责管理应用程序的生命周期和任务栈。启动一个 Activity 的过程中,AMS 扮演了非常重要的角色。
AMS 启动 Activity 的方法主要有两种:
1. startActivity(Intent intent):这是最常用的方法,它接收一个 Intent 参数,用于描述需要启动的 Activity。例如:
```
Intent intent = new Intent(this, TargetActivity.class);
startActivity(intent);
```
2. startActivity(Intent intent, Bundle options):这个方法与第一种方法基本相同,只是多了一个 Bundle 参数,用于传递一些启动参数,例如 Activity 转场动画等。例如:
```
Intent intent = new Intent(this, TargetActivity.class);
Bundle options = ActivityOptions.makeCustomAnimation(this, R.anim.enter_anim, R.anim.exit_anim).toBundle();
startActivity(intent, options);
```
需要注意的是,在启动 Activity 之前,AMS 会先检查权限、栈顶 Activity 是否允许启动等情况。如果有任何问题,AMS 都会拒绝启动该 Activity,并抛出相应的异常。
阅读全文