Android应用之电话拨打


上次我们做了一个简单的hello world,这次我们来写一个电话拨打系统,其实这个电话拨打并不是真正的自己的程序拨打的电话,而是调用的系统程序而实现的电话拨打。

首先我们建立项目Phone,在项目的aluesàstrings下创建所需要的字符串    

  1. <string name="app_name">Phone</string>  
  2.   
  3. <string name="input_info">请输入号码</string>  
  4.   
  5. <string name="dial_caotion">拨打</string>  

然后在layoutàmain.xml下创建界面

  1. <TextView  
  2.   
  3.        Android:layout_width="fill_parent"  
  4.   
  5.        android:layout_height="wrap_content"  
  6.   
  7.        android:text="@string/input_info" />  
  8.   
  9.   
  10.   
  11.    <EditText   
  12.   
  13.        android:layout_width="fill_parent"  
  14.   
  15.        android:layout_height="wrap_content"  
  16.   
  17.        android:id="@+id/phone_number"  
  18.   
  19.        />  
  20.   
  21.    <Button   
  22.   
  23.        android:layout_width="wrap_content"  
  24.   
  25.        android:layout_height="wrap_content"  
  26.   
  27.        android:id="@+id/dial_btn"  
  28.   
  29.        android:text="@string/dial_caotion"  
  30.   
  31.        />  

这个程序一共用到了一个输入框,一个按钮,那个文本就不再说了。剩下的就是我们的java代码了。

我们需要在srcàPhoneActvity写实现代码,首先我们应该先获取用户在输入框里输入的电话号,然后再写一个监听内部类,用来监听按钮事件,具体实现代码就是下面这样

  1. numberEt = (EditText) this.findViewById(R.id.phone_number);  
  2.   
  3.      dialBtn = (Button) this.findViewById(R.id.dial_btn);  
  4.   
  5.   
  6.   
  7.      dialBtn.setOnClickListener(new OnClickListener() {  
  8.   
  9.           
  10.   
  11.         @Override  
  12.   
  13.         public void onClick(View v) {  
  14.   
  15.            // TODO Auto-generated method stub  
  16.   
  17.            //调用系统的拨号服务实现电话的拨打功能  
  18.   
  19.            String phone_number = numberEt.getText().toString();  
  20.   
  21.            phone_numberphone_number = phone_number.trim();  
  22.   
  23.            if(phone_number !=null&&!phone_number.equals("")){  
  24.   
  25.                //封装一个打电话的intent,并且将电话号码包装成一个Uri对象传入  
  26.   
  27.                Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:" +phone_number));  
  28.   
  29.                PhoneActivity.this.startActivity(intent);  
  30.   
  31.            }  
  32.   
  33.         }  
  34.   
  35.     });  

相关内容