Android Intent:调用系统组件实例大全

需积分: 9 6 下载量 43 浏览量 更新于2024-09-12 收藏 15KB DOCX 举报
"这篇文档主要介绍了如何在Android中使用Intent来调用常见的系统组件,包括进行网络搜索、浏览网页、显示地图、路径规划、拨打电话和发送短信等操作。通过设置不同的Action、Category和Data,Intent可以实现不同功能的跳转和数据传递。" 在Android开发中,Intent是一个非常关键的组件,它用于在应用程序的不同组件之间进行通信,也可以用来启动系统服务或启动其他应用的组件。在以下示例中,我们将详细探讨如何使用Intent来调用常见的系统组件: 1. 网络搜索 - Intent的Action设为`ACTION_WEB_SEARCH` - 使用`putExtra`方法添加参数`QUERY`,传入搜索关键词 - 启动Intent以打开搜索引擎 ```java Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY, "searchString"); startActivity(intent); ``` 2. 浏览网页 - Intent的Action设为`ACTION_VIEW` - 使用`Uri.parse`创建网页URL的Uri对象 - 将Uri与Intent关联 - 启动Intent以打开浏览器 ```java Uri uri = Uri.parse("http://www.google.com"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); ``` 3. 显示地图 - Intent的Action同样设为`ACTION_VIEW` - 创建表示地理位置的Uri,如`geo:latitude,longitude` - 启动Intent以打开地图应用 ```java Uri uri = Uri.parse("geo:38.899533,-77.036476"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); ``` 4. 路径规划 - 创建包含起始和目的地的URL,如`http://maps.google.com/maps?f=d&source=s_q&hl=en&geocode&q=startAddress&ie=UTF8&t=h&z=14&sll=...` - Intent的Action设为`ACTION_VIEW` - 设置Uri并启动Intent ```java Uri uri = Uri.parse("http://maps.google.com/maps?f=dsaddr=startLat%20startLng&daddr=endLat%20endLng&hl=en"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); ``` 5. 拨打电话 - 使用`ACTION_DIAL` Action拨打电话 - 创建表示电话号码的Uri - 启动Intent ```java Uri uri = Uri.parse("tel:xxxxxx"); Intent it = new Intent(Intent.ACTION_DIAL, uri); startActivity(it); ``` 6. 发送短信 - Intent的Action设为`ACTION_VIEW` - 设置短信内容作为`sms_body`的额外数据 - 指定Intent类型为`"vnd.android-dir/mms-sms"` - 启动Intent以打开短信应用 ```java Intent it = new Intent(Intent.ACTION_VIEW); it.putExtra("sms_body", "TheSMStext"); it.setType("vnd.android-dir/mms-sms"); startActivity(it); ``` 以上就是使用Intent调用Android系统组件的一些基本操作。Intent不仅可以用于启动这些系统组件,还可以用于启动自定义的Activity,传递数据,或者触发BroadcastReceiver等。理解Intent的工作原理对于Android开发至关重要,因为它几乎贯穿于应用程序的各个层面。记住,Intent的灵活性使得它可以适应各种场景,但同时也需要注意权限问题,例如拨打电话和发送短信可能需要请求相应的权限。在实际开发中,开发者应根据需求灵活运用Intent,并确保符合安全性和用户体验的最佳实践。