Android:启动其他应用程序的完整指南

"这篇资料主要介绍了在Android平台上如何通过Intent对象实现从当前应用跳转到其他应用的功能,包括搜索引擎查询、浏览网页、显示地图、路径规划、拨打电话、启动短信编辑器以及发送短信等操作。"
在Android开发中,Intent是连接各个组件的重要桥梁,它用于启动其他应用程序组件或启动系统服务。以下将详细解析如何使用Intent进行各种类型的跳转:
1. 搜索引擎查询:
当你想让用户在系统默认的搜索引擎中进行特定内容的搜索时,可以创建一个Intent,设置ACTION_WEB_SEARCH行动,并使用`putExtra()`方法添加查询字符串。例如:
```java
Intent intent = new Intent();
intent.setAction(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY, "searchString");
startActivity(intent);
```
这行代码会启动设备上的搜索引擎,并将"searchString"作为搜索关键词。
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);
```
这里坐标(38.899533,-77.036476)表示华盛顿特区的位置。
4. 路径规划:
要在地图应用中规划路径,你需要构建一个指向Google Maps的URL,包含起点和终点的经纬度,然后用ACTION_VIEW启动:
```java
String url = "http://maps.google.com/maps?"+
"f=d&source=s_q&" +
"hl=en&geocode=&q=startLat,startLng&" +
"daddr=endLat,endLng";
Uri uri = Uri.parse(url);
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
```
替换startLat、startLng、endLat和endLng为实际的坐标值。
5. 拨打电话:
拨打电话可以使用ACTION_DIAL行动和电话号码的Uri,但不会自动拨打,用户需要确认:
```java
Uri uri = Uri.parse("tel:xxxxxx");
Intent it = new Intent(Intent.ACTION_DIAL, uri);
startActivity(it);
```
请将"xxxxxx"替换为实际电话号码。
6. 启动短信编辑器:
若要启动短信编辑界面,创建ACTION_VIEW Intent,并指定短信内容:
```java
Intent it = new Intent(Intent.ACTION_VIEW);
it.putExtra("sms_body", "TheSMStext");
it.setType("vnd.android-dir/mms-sms");
startActivity(it);
```
用户可以在此基础上编辑并发送短信。
7. 发送短信:
直接发送短信则需要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"为要发送的文本。
以上代码示例展示了Android应用中通过Intent实现不同功能的跳转,这些功能覆盖了日常应用间交互的基本需求。在实际开发中,记得处理可能的异常,并确保目标应用已安装,以避免因缺少应用导致的崩溃。
相关推荐










whdx666666
- 粉丝: 3
最新资源
- UMLChina:系统建模与设计关键要素详解
- Prototype中文API详解与实用函数
- 复杂网络结构与功能研究综述
- 电脑判案与法律推理:人工智能在司法中的角色探讨
- 《深入浅出MFC》2/e电子书免费下载
- 使用C#操作Excel:从入门到精通
- 正则表达式基础与高级技巧详解
- C#设计模式手册:单例、工厂到访问者模式解析
- Eclipse插件开发实战:从安装到SWTDesigner应用
- Visual Studio .NET使用技巧全览:2004-2007精华
- Ant入门教程:构建Java项目的必备指南
- Log4j配置与使用详解
- 探索Eclipse:使用指南与插件开发详解
- 网页开发:200个常用JSP脚本与JavaScript技巧
- 深入解析bash-door后门机制
- 快速排序算法详解与实现