Android工具集:内容提供者、地图、路径规划与电话/SMS操作详解
需积分: 9 30 浏览量
更新于2024-09-15
收藏 7KB TXT 举报
在Android开发中,工具类的使用是提高效率和简化开发者工作的重要环节。本文将深入探讨几种常见的Android工具类在实际应用中的使用,包括网络请求、地图操作、电话拨打、短信发送等功能,以便让开发者更好地理解和运用这些功能。
首先,对于显示网页,我们通过构建`Uri`对象来指定要打开的网址,然后创建一个`Intent`,指定`ACTION_VIEW`动作,将`Uri`作为参数传递,最后启动该`Intent`实现页面跳转。例如:
```java
Uri uri = Uri.parse("http://www.google.com");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
```
在地图应用方面,可以利用地理坐标构建`Uri`,通过`ACTION_VIEW`打开Google Maps,如:
```java
Uri uri = Uri.parse("geo:38.899533,-77.036476");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
```
路径规划则可以通过URL编码的方式,包含起始和目的地经纬度,通过类似的方式打开Google Maps的路线规划功能:
```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);
```
对于拨打电话,Android提供了两种方式:一是调用拨号器( ACTION_DIAL),二是直接拨打(ACTION_CALL)。例如,使用拨号器:
```java
Uri uri = Uri.parse("tel:xxxxxx");
Intent it = new Intent(Intent.ACTION_DIAL, uri);
startActivity(it);
```
如果需要系统权限(需在AndroidManifest.xml中添加 `<uses-permission android:name="android.permission.CALL_PHONE" />`),则使用ACTION_CALL:
```java
Uri uri = Uri.parse("tel.xxxxxx");
Intent it = new Intent(Intent.ACTION_CALL, uri);
startActivity(it);
```
发送短信或彩信同样需要构造特定的`Uri`和`Intent`。使用ACTION_VIEW和`setType`设置短信类型,然后添加短信内容,如下所示:
```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);
```
理解并灵活运用这些工具类能让Android应用开发更加便捷,同时遵循Android的权限管理原则,确保应用程序在使用敏感功能时不会侵犯用户的隐私。在实际项目中,根据需求选择合适的工具类和方法,能够提高代码的可读性和维护性。
257 浏览量
2014-09-20 上传
112 浏览量
2015-12-11 上传
120 浏览量
android_nihao
- 粉丝: 1
- 资源: 2
最新资源
- 对ASP.NET MVC项目中的视图做单元测试.txt
- java面试题 面试 java
- AJAX and java(英文)
- java程序员面试题
- Java最著名的开源项目
- Java领域的十大产品
- U盘 硬盘 文件夹自定义图标及背景
- IDL用戶培訓教程(初級入門)
- 屏蔽浏览器的后退按钮
- 如何在虚拟机安装Linux
- GEC2410开发板实战手册
- CCNA Boson NetSim 入门实战
- ps技巧,使用的一些常用技巧
- Configuring_FICO_Lawrence_Rebello
- Eclipse in Action A Guide for the Java Developer.pdf
- Struts快速学习指南