Android实现电话拨号器和短信发送器


电话拨号器

实现原理:用户输入电话号码,当点击拨打的时候,由监听对象捕获,监听对象通过文本控件获取到用户输入的电话号码,由于系统已经实现了电话拨号功能,所以我们只需要调用这个功能就可以了。

步骤:

1.界面布局

2.编写Activity

3.使用意图过滤器激活电话拨号功能

4.添加电话服务权限(用手机的电话服务,要在清单文件AndroidManifest.xml中添加电话服务权限)

如图所示这三个控件是垂直摆放的,所以要使用线性布局来搁置显示控件

效果图:

界面布局:

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >  
  7.     <!--提示信息-->  
  8.     <TextView    
  9.     android:layout_width="fill_parent"   
  10.     android:layout_height="wrap_content"   
  11.     android:text="@string/Mobile"  
  12.     />  
  13.      <!--文本框按钮-->  
  14.     <EditText  
  15.     android:layout_width="fill_parent"   
  16.     android:layout_height="wrap_content"  
  17.     android:id="@+id/moblie"  
  18.     />  
  19.     <!--拨号按钮 -->  
  20.     <Button  
  21.     android:layout_width="wrap_content"   
  22.     android:layout_height="wrap_content"  
  23.     android:text="@string/button"  
  24.     android:id="@+id/button"  
  25.     />  
  26. </LinearLayout>  

Activity:

  1. package cn.test.phone;  
  2.   
  3. import android.app.Activity;  
  4. import android.content.Intent;  
  5. import android.net.Uri;  
  6. import android.os.Bundle;  
  7. import android.view.View;  
  8. import android.widget.Button;  
  9. import android.widget.EditText;  
  10.   
  11. public class MainActivity extends Activity {  
  12.     @Override  
  13.     public void onCreate(Bundle savedInstanceState) {  
  14.         super.onCreate(savedInstanceState);  
  15.         setContentView(R.layout.main);  
  16.         //根据控件的id查找到按钮控件  
  17.         Button button =(Button)this.findViewById(R.id.button);  
  18.         button.setOnClickListener(new ButtonClickLister());   //点击事件的处理对象  
  19.     }  
  20.     //监听对象实现拨打功能  
  21.     private class ButtonClickLister implements View.OnClickListener{  
  22.         public void onClick(View v){  
  23.             EditText mobileText=(EditText)findViewById(R.id.moblie);  
  24.             String moblie=mobileText.getText().toString(); //获取到用户输入的时间  
  25.             Intent intent =new Intent();  
  26.             intent.setAction("android.intent.action.CALL");  
  27.             intent.setData(Uri.parse("tel:"+moblie));  
  28.             //根据意图过滤器参数激活电话拨号功能  
  29.             startActivity(intent);  
  30.         }  
  31.     }  
  32. }  

添加电话服务权限:

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.       package="cn.itcast.action"  
  4.       android:versionCode="1"  
  5.       android:versionName="1.0">  
  6.       略....  
  7.     <uses-sdk android:minSdkVersion=“6" />  
  8.     <!-- 电话服务权限 -->  
  9.     <uses-permission android:name="android.permission.CALL_PHONE"/>  
  10. </manifest>  
  • 1
  • 2
  • 下一页

相关内容