`

Intent小应用:打电话

阅读更多
Intent小应用:打电话


MainActivity:
package com.amaker.call;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

/**
 * 1,打电话ciao测试
 *,2,从联系人中获取电话号码,拨打
 * ZZL
 */
public class MainActivity extends Activity {
	private Button btn_select;
	private Button btn_call;
	private EditText et_number;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		btn_select = (Button) findViewById(R.id.button1);
		btn_call = (Button) findViewById(R.id.button2);
		et_number = (EditText) findViewById(R.id.editText1);

		btn_select.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				select();
			}
		});

		btn_call.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				call();
			}
		});
	}
	
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
			Uri uri = data.getData();
			String[] strs = {"number"};
			Cursor c = managedQuery(uri, strs, null, null, null);
			c.moveToFirst();
			String number = c.getString(c.getColumnIndexOrThrow("number"));
			et_number.setText(number);
			
		
		
	}
	//查找联系人
	void select(){
		Intent intent = new Intent();
		String action = Intent.ACTION_GET_CONTENT;
		String type = "vnd.android.cursor.item/phone";
		intent.setAction(action);
		intent.setType(type);
		startActivityForResult(intent, 0);
		
	}
	//打电话
	void call(){
		String action = Intent.ACTION_CALL;
		String number = et_number.getText().toString();
		Uri data = Uri.parse("tel:"+number);
		Intent intent = new Intent();
		intent.setAction(action);
		intent.setData(data);
		startActivity(intent);
		
	}
}


main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="请输入电话号码:" />
	<EditText
		android:id="@+id/editText1"
		android:phoneNumber="true"
		android:layout_width="match_parent"
		android:layout_height="wrap_content" />
	<Button
		android:text="查询电话号码"
		android:id="@+id/button1"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content" />
	<Button
		android:text="CALL"
		android:id="@+id/button2"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content" />
</LinearLayout>


配置文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.amaker.call"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
    <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>
分享到:
评论

相关推荐

    Android开发实例:打电话.zip

    在Android平台上进行应用程序开发时,实现打电话功能是常见的需求之一。这个"Android开发实例:打电话.zip"文件包含了一个具体的示例,教你如何在Android应用中集成拨打电话的功能。以下是关于这个话题的详细知识: ...

    Android利用Intent拍照、摄像、打电话、发短信、发邮件等示例

    本资源“Android利用Intent拍照、摄像、打电话、发短信、发邮件等示例”提供了一个完整的应用实例,展示了如何灵活运用Intent来实现这些功能。下面将详细解释每个功能的实现方式。 1. **拍照** 使用Intent来调用...

    隐式Intent的应用

    1. **打电话**:创建一个Intent,设置ACTION_CALL和电话号码URI,然后调用startActivity()启动通话操作。 ```java Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:123456789")); ...

    Android开发实例:打电话

    `main.xml`文件定义了界面的布局,它是一个垂直排列的`LinearLayout`,包含一个显示文字的`TextView`、一个输入电话号码的`EditText`以及一个带有文字“打电话”的`Button`。`strings.xml`文件则包含了应用中使用的...

    使用Intent拨打电话.zip

    在Android开发中,Intent是一种非常重要的机制,它用于在组件之间传递消息,也可以用来启动其他应用程序组件,如活动(Activity)、服务(Service)等。在这个名为"使用Intent拨打电话.zip"的压缩包中,我们可以看到...

    Android开发实例:打电话[参照].pdf

    在Android平台上进行应用开发时,有时我们需要实现打电话的功能。这篇文档提供了一个简单的实例,展示了如何在Android应用中创建一个能够拨打电话的界面。这个实例主要包括以下几个关键知识点: 1. **Activity**:`...

    安卓应用之Intent的使用

    打电话: 1.界面使用linearlayout布局添加电话号码和短信内容输入框,定义button控件 2.在Activity中初始化需要操作的视图对象 3给button设置点击监听 5.点击打电话进入拨号界面 1)创建一个Intent 2)携带数据 3). ...

    安卓小程序(打电话,发短信)

    在安卓平台上,开发一款能够实现打电话和发送短信的小程序是一项基础但重要的技能。这个小程序针对的是安卓6.0及以上版本的系统,意味着它需要遵循安卓 Marshmallow (API 级别23) 及以上版本的开发规范。下面将详细...

    Android 常用的Intent的URI及示例

    例如,下面的代码将直接拨打电话: Uri uri = Uri.parse("tel:10086"); Intent intent = new Intent(Intent.ACTION_CALL, uri); 五、卸载一个应用 Intent.ACTION_DELETE 是一种常用的 Intent 动作,用于卸载一个...

    android简易的打电话app

    在Android平台上,开发一个简单的打电话应用涉及到多个关键知识点。首先,我们需要理解Android系统的架构和应用程序框架,因为所有的Android应用都是基于这个框架构建的。在这个框架中,开发者使用Java或Kotlin等...

    android 定时打电话的小程序

    在Android平台上,开发一个定时打电话的小程序涉及到多个关键知识点,包括Android系统服务、AlarmManager、BroadcastReceiver、Intent以及电话权限管理。以下是对这些知识点的详细解释: 1. **Android系统服务...

    Android中Intent使用、数据回写(显)

    在Android开发中,Intent是一个非常重要的组件,它用于在应用程序的不同组件之间传递消息,实现活动(Activity)、服务(Service)、广播接收器(BroadcastReceiver)以及Content Provider之间的通信。本篇文章将...

    android Intent实例

    调拨打电话界面 ```java Uri telUri = Uri.parse("tel:100861"); Intent returnIt = new Intent(Intent.ACTION_DIAL, telUri); ``` 这将打开电话拨打界面,并预填充电话号码“100861”。用户可以选择拨出电话或者...

    Iandroid Intent使用案例

    android Intent使用案例 含:播放多媒体、打电话、发短信、发送email、发邮件、google服务、组件component、action值自定义、显示地图/路径规划、选择应用、打开应用列表、搜索应用等意图实例。

    Andriod打电话源码及其可运行程序

    最后,理解Android打电话源码有助于开发者创建自定义通话应用,如VoIP服务,或者对系统电话功能进行扩展和定制。同时,也可以为其他涉及电话功能的场景提供参考,比如紧急呼叫、自动拨号等。 总之,Android打电话...

    Android高级应用源码-android打电话源码.zip

    以下是对"Android高级应用源码-android打电话源码.zip"中可能包含的关键知识点的详细说明: 1. **权限管理**:在Android系统中,拨打和接听电话属于敏感操作,因此需要在`AndroidManifest.xml`文件中声明相应的权限...

    运用Android Studio实现打电话和发短信

    打电话功能通常通过`Intent`实现,创建一个带有拨号动作的`Intent`,然后使用`startActivity()`启动。以下是如何实现拨打电话的示例代码: ```java String phoneNumber = "1234567890"; Intent callIntent = new ...

    Android应用源码之android打电话源码.zip

    通过分析"Android应用源码之android打电话源码.zip"这个压缩包中的源代码,我们可以深入理解这些核心概念。 首先,Android应用的构建通常基于Activity、Service、BroadcastReceiver等组件。在这个源码中,我们可能...

    Android中Intent习惯用法

    4. 打电话: 使用`Intent.ACTION_CALL`可以直接拨打电话,而`Intent.ACTION_DIAL`则只显示拨号盘。例如: ```java Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:10086")); if ...

    安卓Android源码——android打电话源码.zip

    在安卓(Android)系统中,打电话功能是移动设备的基本功能之一。这个压缩包“安卓Android源码——android打电话源码.zip”(实际为rar文件)很可能是包含了Android系统中实现拨打电话功能的相关源代码。通过分析...

Global site tag (gtag.js) - Google Analytics