Android:启动其他应用程序的完整指南
5星 · 超过95%的资源 需积分: 20 18 浏览量
更新于2024-09-16
收藏 19KB DOCX 举报
"这篇资料主要介绍了在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实现不同功能的跳转,这些功能覆盖了日常应用间交互的基本需求。在实际开发中,记得处理可能的异常,并确保目标应用已安装,以避免因缺少应用导致的崩溃。
2021-01-20 上传
2021-01-03 上传
2022-09-15 上传
2015-11-02 上传
2022-09-22 上传
2022-09-20 上传
2022-09-23 上传
2022-09-20 上传
whdx666666
- 粉丝: 3
- 资源: 121
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍