Android Intent 是一种在 Android 应用组件之间传递信息和启动组件(如 Activity、Service、BroadcastReceiver 等)的方式。以下是 Intent 的基本用法:
Intent intent = new Intent(context, TargetActivity.class); 这里,context 是当前 Activity 的上下文,TargetActivity.class 是要启动的目标 Activity 类。
startActivity(intent); 这行代码将使用 Intent 对象启动目标 Activity。
可以使用 putExtra() 方法向 Intent 传递数据。例如,传递一个字符串和一个整数:
intent.putExtra("key_string", "Hello, World!"); intent.putExtra("key_int", 42); 在目标 Activity 中,可以使用 getIntent() 方法获取传递的 Intent 对象,然后使用 getStringExtra() 和 getIntExtra() 方法获取传递的数据。例如:
Intent intent = getIntent(); String stringValue = intent.getStringExtra("key_string"); int intValue = intent.getIntExtra("key_int", defaultValue); 这里,defaultValue 是当传递的数据不存在时返回的默认值。
要启动一个 Service,可以使用 startService() 方法。例如:
Intent serviceIntent = new Intent(context, MyService.class); startService(serviceIntent); 要发送一个广播,可以使用 sendBroadcast() 方法。例如:
Intent broadcastIntent = new Intent("com.example.MY_BROADCAST"); sendBroadcast(broadcastIntent); 要接收一个广播,需要创建一个 BroadcastReceiver 子类并重写 onReceive() 方法。例如:
public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if ("com.example.MY_BROADCAST".equals(action)) { // 处理接收到的广播 } } } 然后,需要在 AndroidManifest.xml 文件中注册 BroadcastReceiver:
<application> ... <receiver android:name=".MyBroadcastReceiver"> <intent-filter> <action android:name="com.example.MY_BROADCAST" /> </intent-filter> </receiver> </application> 这些是 Android Intent 的基本用法。Intent 还支持其他操作,如附加数据、启动 Activity 的动画等。具体用法可以参考 Android 开发者文档。