在Android中,Intent是用于在不同组件(Activity、Service、BroadcastReceiver)之间传递数据和启动组件的一种机制。Intent可以用于启动Activity,启动Service,发送广播以及在组件之间传递数据。
下面是一些常见的Intent用法:
1. 启动Activity:
```java
Intent intent = new Intent(this, TargetActivity.class);
startActivity(intent);
```
这将启动一个名为TargetActivity的Activity。
2. 传递数据:
```java
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtra("key", "value");
startActivity(intent);
```
在源Activity中,使用putExtra()方法将数据添加到Intent中,并在目标Activity中使用getExtra()方法获取数据。
3. 启动Service:
```java
Intent intent = new Intent(this, TargetService.class);
startService(intent);
```
这将启动一个名为TargetService的Service。
4. 发送广播:
```java
Intent intent = new Intent("com.example.ACTION_CUSTOM");
intent.putExtra("key", "value");
sendBroadcast(intent);
```
这将发送一个自定义的广播,并在接收广播的地方处理广播。
5. 监听广播:
```java
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 处理接收到的广播
}
}
// 注册广播接收器
MyBroadcastReceiver receiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter("com.example.ACTION_CUSTOM");
registerReceiver(receiver, filter);
```
这将注册一个广播接收器,用于接收名为"com.example.ACTION_CUSTOM"的广播。
这只是Intent的一些基本用法,还有很多高级用法可以实现复杂的功能。具体的使用方法可以参考Android官方文档。