安卓之实现一个简单的电话拨号功能

1.首先,新建一个安卓项目,打开项目下的res下的layout,里面有个activity_main.xml布局文件,打开来,修改里面的代码,其中EditText下的android:inputType="phnoe"这条代码是指定编辑框的类型为号码,即数字,接下来,我将附上布局文件的代码:

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <!-- 定义个文本视图 -->
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/dian_hua" />
    
    <!-- 定义个文本编辑框 -->
    <EditText 
        android:id="@+id/edittext1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="phone"/>
    
    <!-- 定义个按钮 -->
    <Button 
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/bo_hao"
        />

</LinearLayout>


2.接下来,打开安卓项目中src下的MainActivity.java文件,在里面添加些代码,下面,将附上MainActivity.java的代码:

package com.example.dianhua;

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

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Button button1=(Button)findViewById(R.id.button1);//获取button组件
		button1.setOnClickListener(new OnClickListener(){//为拨号按钮添加一个单击监听器
			@Override
			public void onClick(View v){
				EditText edittext1=(EditText)findViewById(R.id.edittext1);//获取EditText组件
				String number=edittext1.getText().toString();//获得用户输入的手机号码
				Intent intent=new Intent();//创建Intent对象
				intent.setAction(Intent.ACTION_CALL);//为Intent设置动作
				intent.setData(Uri.parse("tel:"+number));//为Intent设置数据
				startActivity(intent);//将Intent传递给Activity
			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

3.以上的代码已经是完整的代码,运行之后便可以实现拨号的功能,其中,说一下,我这个代码已经把所需要的包导入了进去,如果缺少包,没有导入的话,快捷键ctrl+shift+o可导入包!

4.接下来还要设置一下权限,在项目下的AndroidManifest要添加多一条代码,即在安卓配置文件下设置可以拨打号码的权限,那条代码为: <uses-permission android:name="android.permission.CALL_PHONE"/>,接下来附上安卓配置文件的代码,即AndroidManifest.xml的代码

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.dianhua"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.dianhua.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>
    <!-- 设置可以拨号的权限 -->
    <uses-permission android:name="android.permission.CALL_PHONE"/>

</manifest>


 

5.运行之后的界面如下:          

 

 6.要查看它是否能实现拨号功能,如果你是用真机部署到手机调试的话,可直接拨打一个有效的电话便可以,如果是用模拟器的话,可开启2个模拟器,模拟器中的那个5554:AVD中的5554便是它本身的电话号码,开启2个模拟器后可拨打5556,即可进行拨号和接收拨来的电话。

7.另外,还有一个可行的方法,在工具上方菜单下有Window,下拉菜单下有Show View,选择other...里面有个Emulator Control,点击一下,将会出现这样的界面:

 

8.那里有个call按钮,也可以进行拨号操作。

 

 9.以上内容,供大家学习参考,若是转载,请注明出处!

 

注:因是昨天晚上写的,出了点错误,现在已改正,如果写的有错误的地方,请评论该文章,我将会及时改正,谢谢!

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值