如何在Activity中获取Intent传递的数据?
时间: 2024-09-11 07:17:25 浏览: 40
Android基于Intent实现Activity之间数据传递的方法
在Android中,在Activity中获取Intent传递的数据通常有以下几个步骤:
1. **创建Intent**: 首先,你在其他地方(如另一个Activity或BroadcastReceiver)通过`startActivity()`或者`sendBroadcast()`方法启动一个新的Activity,并将数据放入Intent中。例如:
```java
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtra("key", "value"); // 设置数据
startActivity(intent);
```
2. **接收Intent**: 在目标Activity(即`TargetActivity`)中,你可以通过`onCreate()`方法的`Intent`参数来获取这些数据。使用`getSerializableExtra()`、`getStringExtra()`等方法,取决于数据的类型:
```java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_target);
String data = getIntent().getStringExtra("key");
// 或者如果是Serializable类型
MySerializableData obj = (MySerializableData) getIntent().getSerializableExtra("key");
}
```
**相关问题--:**
1. 是否可以使用putExtra()方法存储不同类型的数据?
2. 如果数据是数组或集合,应该如何处理?
3. 如果数据是从广播接收器传来的,如何在Activity中获取这些数据?
阅读全文