Android Intent全方位解析:实例代码详解

需积分: 33 1 下载量 10 浏览量 更新于2024-09-14 1 收藏 64KB DOC 举报
"这篇文章除了介绍Android Intent的基本概念,还通过实例代码展示了如何使用Intent来实现不同的功能,如显示网页、查看地图、路径规划、拨打电话以及发送短信。" 在Android开发中,Intent是一种重要的组件,它用于在应用程序之间传递消息,实现组件之间的交互。Intent可以用来启动一个新的活动(Activity)、启动服务(Service)或者广播(Broadcast)。以下是Intent的几种常见用法的详细说明: 1. 显示网页: 使用`ACTION_VIEW`动作和`Uri`对象,可以启动浏览器显示指定的网页。例如: ```java Uri uri = Uri.parse("http://www.google.com"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); ``` 这行代码会打开默认的浏览器并加载URL。 2. 显示地图: 指定地理位置的`Uri`和`ACTION_VIEW`动作,可以打开地图应用显示特定位置。例如: ```java Uri uri = Uri.parse("geo:38.899533,-77.036476"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); ``` 这将打开地图应用并定位到给定的经纬度。 3. 路径规划: 如果想要规划路线,可以构建包含起始和结束地点的URL,然后启动地图应用。例如: ```java Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); ``` 这个例子会打开Google Maps并规划从起始坐标到结束坐标的路线。 4. 拨打电话: `ACTION_DIAL`动作会启动拨号界面,而`ACTION_CALL`会直接拨打电话。前者无需权限,后者需要`CALL_PHONE`权限。例如: ```java // 调用拨号界面 Uri uri = Uri.parse("tel:xxxxxx"); Intent it = new Intent(Intent.ACTION_DIAL, uri); startActivity(it); // 直接拨打电话 Uri uri = Uri.parse("tel:xxxxxx"); Intent it = new Intent(Intent.ACTION_CALL, uri); // 需要在AndroidManifest.xml中添加<uses-permission android:name="android.permission.CALL_PHONE" /> startActivity(it); ``` 5. 发送SMS/MMS: 发送短信或多媒体消息(MMS)通常需要启动短信应用。使用`ACTION_VIEW`,设置短信正文和类型。例如: ```java Intent it = new Intent(Intent.ACTION_VIEW); it.putExtra("sms_body", "The SMS text"); it.setType("vnd.android-dir/mms-sms"); startActivity(it); ``` 这行代码会打开短信应用,预填好文本内容。 这些用法只是Intent的一部分,实际上Intent还能用于启动服务、传递数据等更复杂的操作。Intent配合不同的Action、Data、Category等参数,能够实现各种定制化的功能,是Android系统中不可或缺的组件。在实际开发中,熟练掌握Intent的使用对于构建交互丰富的应用程序至关重要。