拨打电话的简单实现

  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);

    }

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值