Android系统调用实战:从搜索到导航
4星 · 超过85%的资源 需积分: 9 145 浏览量
更新于2024-09-16
收藏 49KB DOC 举报
"这篇资料主要介绍了在Android操作系统中如何进行常见的系统调用,涉及音频、通话、短信、地图、视频和GPS等领域的应用实例。通过Intent对象和特定的ACTION,开发者可以实现各种功能,如搜索网络内容、打开网页、显示地图、规划路径、拨打电话、以及发送短信。"
在Android开发中,`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`。例如:
```java
Uri uri = Uri.parse("http://www.google.com");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
```
这将使用设备上的浏览器应用打开指定的网页。
3. 显示地图:
要显示地图,使用 `Intent.ACTION_VIEW` 和地理坐标 `Uri`。例如:
```java
Uri uri = Uri.parse("geo:38.899533,-77.036476");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
```
这将打开Google Maps应用并定位到给定的经纬度。
4. 路径规划:
为用户提供路线规划,你需要构建一个指向地图应用的URL,然后用 `Intent.ACTION_VIEW` 启动。例如:
```java
Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
```
这将显示从起点到终点的路线。
5. 拨打电话:
拨打指定号码,可以使用 `Intent.ACTION_DIAL`。例如:
```java
Uri uri = Uri.parse("tel:xxxxxx");
Intent it = new Intent(Intent.ACTION_DIAL, uri);
startActivity(it);
```
这会打开电话应用并显示拨号界面,但不会自动拨打。
6. 启动发短信程序:
方法一使用 `Intent.ACTION_VIEW` 发送短信,需要先设置短信内容。例如:
```java
Intent it = new Intent(Intent.ACTION_VIEW);
it.putExtra("sms_body", "TheSMStext");
it.setType("vnd.android-dir/mms-sms");
startActivity(it);
```
方法二和方法三则直接使用 `Intent.ACTION_SENDTO`,并指定接收方号码。例如:
```java
// 方法二
Uri uri = Uri.parse("smsto:0800000123");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
it.putExtra("sms_body", "TheSMStext");
startActivity(it);
// 方法三
String body = "thisissmsdemo";
// ... 然后使用方法二的代码
```
这些方法会启动短信应用,预填好收件人和内容,等待用户发送。
这些系统调用展示了Android中如何利用Intent进行不同功能的集成,为用户提供了丰富的交互体验。理解并熟练运用这些调用是Android开发的基础。
2012-06-15 上传
2014-05-07 上传
2021-03-03 上传
2019-03-31 上传
2013-09-26 上传
2016-03-15 上传
2021-01-05 上传
133 浏览量
109 浏览量
fulinwsuafcie
- 粉丝: 312
- 资源: 22
最新资源
- 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++图形界面开发新篇章