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.以上内容,供大家学习参考,若是转载,请注明出处!
注:因是昨天晚上写的,出了点错误,现在已改正,如果写的有错误的地方,请评论该文章,我将会及时改正,谢谢!