Android:实现系统与应用间的各种跳转
需积分: 9 47 浏览量
更新于2024-09-16
收藏 6KB TXT 举报
"Android应用程序中的跳转技术主要涉及到Intent的使用,包括跳转到系统服务、网页、地图、拨打电话、发送短信等多种功能。"
在Android开发中,Intent是连接应用程序组件的重要工具,用于启动活动(Activity)、服务(Service)等,并在它们之间传递数据。以下将详细介绍如何使用Intent进行不同类型的跳转操作:
1. 搜索操作:
使用`Intent.ACTION_WEB_SEARCH`可以调用系统的搜索引擎进行网络搜索。例如:
```java
Intent intent = new Intent();
intent.setAction(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY, "searchString");
startActivity(intent);
```
这段代码会打开设备默认的搜索引擎,并输入"searchString"作为搜索关键字。
2. 打开网页:
通过`Intent.ACTION_VIEW`和`Uri.parse()`可以打开指定的网页。例如:
```java
Uri uri = Uri.parse("http://www.google.com");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
```
这行代码会启动浏览器并加载"http://www.google.com"页面。
3. 显示地理位置:
使用`ACTION_VIEW`和`Uri.parse()`,可以调用地图应用显示特定的地理坐标。例如:
```java
Uri uri = Uri.parse("geo:38.899533,-77.036476");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
```
这段代码会在地图应用中显示坐标(38.899533,-77.036476)的位置。
4. 导航路线:
若要从一个位置导航到另一个位置,可以构建特定的URL并使用`ACTION_VIEW`。例如:
```java
String url = "http://maps.google.com/maps?f=daddr=startLat,startLng&daddr=endLat,endLng&hl=en";
Uri uri = Uri.parse(url);
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
```
这里,"startLat"和"startLng"是起点坐标,"endLat"和"endLng"是终点坐标,用于在Google Maps中规划路线。
5. 拨打电话:
拨打特定电话号码可以使用`ACTION_DIAL`。例如:
```java
Uri uri = Uri.parse("tel:xxxxxx");
Intent it = new Intent(Intent.ACTION_DIAL, uri);
startActivity(it);
```
这行代码会启动拨号器并填充"xxxxxx"作为电话号码,但不会自动拨打,需要用户确认。
6. 发送短信:
发送短信通常涉及`ACTION_VIEW`或`ACTION_SENDTO`。使用`ACTION_VIEW`时,短信会被创建但不发送:
```java
Intent it = new Intent(Intent.ACTION_VIEW);
it.putExtra("sms_body", "TheSMStext");
it.setType("vnd.android-dir/mms-sms");
startActivity(it);
```
而`ACTION_SENDTO`可以直接启动发送流程:
```java
Uri uri = Uri.parse("smsto:0800000123");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
it.putExtra("sms_body", "TheSMStext");
startActivity(it);
```
这里,"0800000123"是接收方电话号码,"TheSMStext"是短信内容。
7. 发送MMS:
如果需要发送包含多媒体内容的短信(MMS),可以创建一个`ACTION_SEND` Intent:
```java
String body = "thisissmsdemo";
Intent mmsIntent = new Intent(Intent.ACTION_SEND);
mmsIntent.putExtra("sms_body", body);
mmsIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("content://media/external/images/media/1"));
mmsIntent.setType("image/jpeg");
startActivity(mmsIntent);
```
在这个例子中,"thisissmsdemo"是文本内容,而`EXTRA_STREAM`参数提供了一个指向多媒体文件的Uri,用于发送图片。
这些示例展示了Intent在Android开发中实现各种跳转功能的强大能力。开发者可以根据需求,灵活组合不同的Action和Uri,以实现丰富的用户交互。
2018-07-15 上传
2012-03-15 上传
2012-02-14 上传
2021-01-05 上传
2019-01-07 上传
2017-10-19 上传
点击了解资源详情
cwc455826074
- 粉丝: 8
- 资源: 20
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章