Android 启动 Activity 的方法详解
在 Android 中,启动一个 Activity 可以使用以下方法:
- 使用显式 Intent 启动:
Intent intent = new Intent(this, TargetActivity.class);
startActivity(intent);
其中,'this' 代表当前 Activity 的上下文,'TargetActivity.class' 代表要启动的目标 Activity。
- 使用隐式 Intent 启动:
Intent intent = new Intent();
intent.setAction('com.example.ACTION_START');
startActivity(intent);
其中,'com.example.ACTION_START' 代表要启动的 Activity 的动作。
- 带参数启动 Activity:
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtra('key', 'value');
startActivity(intent);
其中,'putExtra()' 方法可以传递任何类型的参数,包括基本数据类型、序列化对象等。
- 启动 Activity 并获取结果:
Intent intent = new Intent(this, TargetActivity.class);
startActivityForResult(intent, REQUEST_CODE);
其中,'REQUEST_CODE' 是一个自定义的整型值,用于标识启动的 Activity。
在目标 Activity 中,可以通过以下方式返回结果:
Intent intent = new Intent();
intent.putExtra('result', 'value');
setResult(RESULT_OK, intent);
finish();
其中,'RESULT_OK' 表示操作成功,'intent' 中可以传递任何类型的结果。在启动 Activity 的地方,可以通过 'onActivityResult()' 方法获取结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
String result = data.getStringExtra('result');
// 处理结果
}
}
原文地址: https://www.cveoy.top/t/topic/ok4s 著作权归作者所有。请勿转载和采集!