intent(意图)激活电话拨号器的Activity实现拨号功能

电话拨号器

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

步骤:

1.界面布局

2.编写Activity

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

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

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


界面布局:

[XML] view plaincopy

  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:

[java] view plaincopy

  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. }  

 

添加电话服务权限:

[xml] view plaincopy

  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>  


转载于:https://my.oschina.net/u/1862653/blog/354584

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值