阅读量:0
Android Intent是一种用于在应用程序之间传输数据的机制。它可以用于启动活动(Activity)或服务(Service)、发送广播(Broadcast)和启动应用程序间的交互。
Intent的用法可以分为两种:
- 显式Intent(Explicit Intent):用于在应用程序内部的组件之间进行通信。通过指定目标组件的类名,可以明确指定要启动的活动或服务。
示例代码:
Intent intent = new Intent(this, TargetActivity.class); startActivity(intent);
- 隐式Intent(Implicit Intent):用于在不知道目标组件类名的情况下启动活动、服务或发送广播。通过指定操作(Action)和数据(Data)等信息,系统会自动匹配合适的组件进行处理。
示例代码:
// 启动浏览器打开指定网页 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.example.com")); startActivity(intent); // 发送短信 Intent intent = new Intent(Intent.ACTION_SENDTO); intent.setData(Uri.parse("smsto:" + phoneNumber)); intent.putExtra("sms_body", message); startActivity(intent); // 发送广播 Intent intent = new Intent("com.example.ACTION_CUSTOM"); intent.putExtra("extra_key", "extra_value"); sendBroadcast(intent);
除了用于启动活动、服务和发送广播,Intent还可以用于传递数据和接收返回结果。通过putExtra()方法可以向Intent中添加键值对数据,通过getExtra()方法可以获取传递的数据。通过startActivityForResult()方法启动活动,并在活动结束后通过onActivityResult()方法获取返回的结果。