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

来源:互联网 发布:mac u盘里不显示文件 编辑:程序博客网 时间:2024/04/28 12:38

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 {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button1=(Button)findViewById(R.id.button1);//获取button组件button1.setOnClickListener(new OnClickListener(){//为拨号按钮添加一个单击监听器@Overridepublic 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}});}@Overridepublic 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.以上内容,供大家学习参考,若是转载,请注明出处!

 

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

 

0 0
原创粉丝点击