您的位置:首页 > 其它

拨打电话的简单实现

2011-12-11 22:06 337 查看
Android打电话主要就是用内部类加上监听器实现的,比较的简单和粗糙,这里没有进行什么美化。用到的是以前所用的MVC模式,其中main.xml就相当于view视图层,主要是通过activity文件的调用从而达到视图界面的搭建

首先是页面的实现,页面设计的只是功能用到的一些东西。在string.xml中定义文字提示信息,下面是string.xml的部分代码:

<string name="app_name">拨打电话</string>
<string name="myPhone">请输入您要拨打的号码:</string>
<string name="dial_phone">拨打</string>

然后在main.xml中,定义视图层显示页面,以下是部分代码:
//定义显示标签的提示信息

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/myPhone"/>

//输入文本框的显示风格

<EditText

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:id="@+id/phone_number"/>

//按钮的显示及其按钮的值

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:id="@+id/dial_btn"

android:text="@string/dial_phone" />

随后就是监听的注册和实现,在activity文件中进行编译,通过内部类方法实现监听器的注册和监听实现。要实现拨打功能首先就要获取用户输入的号码,要处理的文本框输入信息的值是一个EditText类型的值,但是传过来的值是一个String字符串,很有可能里面会有空格的出现,这时就需要进行字符串的去空格操作。这些操作进行完毕后需要进行判断得到的字符串是否为空,如果是空值,电话肯定就拨打不出去了;若不为空就要封装一个拨打电话的intent,并且将电话号以uri的形式传入到activity对象中。以下是部分代码:

EditText numberEt;

Button dialBtn;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

findViews();

/*创建内部监听类*/

dialBtn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

//调用系统的拨号服务实现电话拨打功能

String phone_number = numberEt.getText().toString();

//对字符串进行去空格操作

phone_number = phone_number.trim();

if(phone_number!=null && !phone_number.equals("")){

//封装一个拨打电话的intent,并且将电话号码封装成一个Uri对象传入

Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+ phone_number));

PhoneActivity.this.startActivity(intent);

}

}

});

}

public void findViews(){

numberEt = (EditText) this.findViewById(R.id.phone_number);

dialBtn = (Button) this.findViewById(R.id.dial_btn);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: