在Android中,Intent是用于在不同組件(Activity、Service、BroadcastReceiver)之間傳遞數據和啟動組件的一種機制。Intent可以用于啟動Activity,啟動Service,發送廣播以及在組件之間傳遞數據。
下面是一些常見的Intent用法:
Intent intent = new Intent(this, TargetActivity.class);
startActivity(intent);
這將啟動一個名為TargetActivity的Activity。
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtra("key", "value");
startActivity(intent);
在源Activity中,使用putExtra()方法將數據添加到Intent中,并在目標Activity中使用getExtra()方法獲取數據。
Intent intent = new Intent(this, TargetService.class);
startService(intent);
這將啟動一個名為TargetService的Service。
Intent intent = new Intent("com.example.ACTION_CUSTOM");
intent.putExtra("key", "value");
sendBroadcast(intent);
這將發送一個自定義的廣播,并在接收廣播的地方處理廣播。
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官方文檔。