Android Intent 使用指南与常见操作
版权申诉
49 浏览量
更新于2024-07-08
收藏 56KB DOC 举报
"此文档是关于Android中Intent和Intent Action的全面总结,涵盖了各种常见的使用场景。"
在Android应用开发中,Intent是一个至关重要的组件,它用于启动其他组件、传递数据以及在应用程序之间建立通信桥梁。Intent可以分为显式Intent和隐式Intent两种类型。显式Intent明确指定要启动的目标组件,而隐式Intent则不指定具体组件,而是通过定义Action、Data、Category等属性来匹配能够处理该Intent的组件。
1. 从Google搜索内容
当你想在Google中搜索特定内容时,可以通过设置ACTION_WEB_SEARCH动作,并传递查询字符串(QUERY)来实现:
```java
Intent intent = new Intent();
intent.setAction(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY, "searchString");
startActivity(intent);
```
2. 浏览网页
如果需要打开一个网页,可以使用ACTION_VIEW动作和Uri解析URL:
```java
Uri uri = Uri.parse("http://www.google.com");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
```
3. 显示地图
显示地图位置通常使用ACTION_VIEW和地理坐标(geo:)的Uri:
```java
Uri uri = Uri.parse("geo:38.899533,-77.036476");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
```
4. 路径规划
路径规划可以跳转到Google Maps并设置起点和终点:
```java
Uri uri = Uri.parse("http://maps.google.com/maps?f=d&daddr=endLat%20endLng&hl=en");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
```
其中,startLat和startLng代表起点,endLat和endLng代表终点。
5. 拨打电话
拨打特定电话号码使用ACTION_DIAL动作和tel:协议的Uri:
```java
Uri uri = Uri.parse("tel:xxxxxx");
Intent it = new Intent(Intent.ACTION_DIAL, uri);
startActivity(it);
```
6. 调用发短信程序
打开短信应用并预填短信内容,但不发送:
```java
Intent it = new Intent(Intent.ACTION_VIEW);
it.putExtra("sms_body", "The SMS text");
it.setType("vnd.android-dir/mms-sms");
startActivity(it);
```
7. 发送短信
实际发送短信需要使用smsto:协议的Uri:
```java
Uri uri = Uri.parse("smsto:0800000123");
Intent i = new Intent(Intent.ACTION_SENDTO, uri);
i.putExtra("sms_body", "短信内容");
startActivity(i);
```
这些例子展示了Intent在Android中的基本用法,包括启动Web浏览器、地图应用、拨打电话、发送短信等功能。在实际开发中,开发者可以根据需求灵活组合使用Intent的各种属性和动作,以实现更复杂的功能交互。理解并熟练掌握Intent的使用,对于编写高效、流畅的Android应用至关重要。
2020-03-09 上传
2021-11-23 上传
2020-04-09 上传
2022-07-04 上传
2022-07-04 上传
2021-09-09 上传
2011-04-05 上传
2022-07-08 上传
2022-07-07 上传
学习使人快乐张
- 粉丝: 101
- 资源: 6万+
最新资源
- centiq-crest:流星的宁静图书馆
- 计算机设计 - vb家庭财务管理系统设计(LW+源代码+英文文献),保证可靠运行,毕业生可参考,免费资源下载
- Swift-UISearchController_Swift_UISearchController_
- smoothratingbar:平滑的等级栏
- USB hub板子开源(PCB文件)-电路方案
- jQuery实现的图文排版点击弹出图片特效源码.zip
- 时间操作-易语言
- netsurf-2.1.zip_浏览器_Unix_Linux_
- tpolm_-_cyboman_5:TPOLM的“ Cyboman 5”,适用于Stream 2012小规模入门比赛的javascript画布4k入门
- Python库 | azure-mgmt-peering-0.1.0rc1.zip
- 掩膜切割法_掩膜切割_相位解缠_
- 基于java的-113-jspm高职院校教学中心可视化教学分析系统-源码.zip
- java-mammoth:将Word文档转换为简单干净HTML
- 【楼层6层】3100平米左右一字型框架办公楼毕业设计(含建筑结构图、计算书)-土木工程建造设计.zip
- 372套精品网页设计模板,前端设计模板,HTML模板
- HapiNG:使用 AngularJS 设置 HapiJS