1、工程目录
2、MainActivity.java
package com.example.test_dial;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.app.ListActivity;
import android.content.Intent;
public class MainActivity extends ListActivity {
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
// super.onListItemClick(l, v, position, id);
// 实例化intent
Intent intent = new Intent();
// 声明uri
Uri uri;
// 声明数据字符串
String data;
switch (position) {
// 查看_id为1的电话信息
case 0:
// 字符串uri
data = "content://contacts/people/1";
// 通过uri字符串获得uri实例
uri = Uri.parse(data);
// 设置intent的Action属性
intent.setAction(Intent.ACTION_VIEW);
// 设置intent的Data属性
intent.setData(uri);
// 启动Activity
startActivity(intent);
break;
// 编辑_id为1的用户电话信息
case 1:
// 字符串uri
data = "content://contacts/people/1";
// 通过uri字符串获得uri实例
uri = Uri.parse(data);
// 设置intent的Action属性
intent.setAction(Intent.ACTION_EDIT);
// 设置intent的Data属性
intent.setData(uri);
// 启动Activity
startActivity(intent);
break;
// 显示拨打电话界面
case 2:
// 字符串uri
data = "tel:13853102182";
// 通过uri字符串获得uri实例
uri = Uri.parse(data);
// 设置intent的Action属性
intent.setAction(Intent.ACTION_DIAL);
// 设置intent的Data属性
intent.setData(uri);
// 启动Activity
startActivity(intent);
break;
// 直接打电话
case 3:
// 字符串uri
data = "tel:13853102182";
// 通过uri字符串获得uri实例
uri = Uri.parse(data);
// 设置intent的Action属性
intent.setAction(Intent.ACTION_CALL);
// 设置intent的Data属性
intent.setData(uri);
// 启动Activity
startActivity(intent);
break;
// 访问浏览器
case 4:
// 字符串uri
data = "http://www.baidu.com";
// 通过uri字符串获得uri实例
uri = Uri.parse(data);
// 设置intent的Action属性
intent.setAction(Intent.ACTION_VIEW);
// 设置intent的Data属性
intent.setData(uri);
// 启动Activity
startActivity(intent);
break;
// 访问地图
// 这个地方必须要有一个百度地图、google地图、高德地图等
case 5:
// 字符串uri
data = "geo:39.92,116.46";
// 通过uri字符串获得uri实例
uri = Uri.parse(data);
// 实例化intent
intent = new Intent(Intent.ACTION_VIEW, uri);
// 启动Activity
startActivity(intent);
break;
default:
break;
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 菜单项数组
String[] menus = { "查看电话信息", "编辑电话信息", "显示拨打电话界面", "直接打电话", "访问浏览器",
"访问地图" };
// 将菜单项数组设置为listview的列表显示
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, menus));
getListView().setTextFilterEnabled(true);
}
}
3、权限
<uses-permission android:name="android.permission.CALL_PHONE" />
4、结果演示