ACTION.CALL
通过一个Button来实现打电话 为了避免用户输入非电话号码的字符串,再拨打电话之前通过自定义isPhoneNumberVaild()以及Toast信息来提示用户
定义一个Activity
package cn.mw.com.phone; import java.util.regex.Matcher; import java.util.regex.Pattern; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class EX01_02Activity extends Activity { EditText ed_phone; Button call_phone; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ed_phone = (EditText) findViewById(R.id.phone_call); call_phone = (Button) findViewById(R.id.call_btn); call_phone.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String strInput = ed_phone.getText().toString(); try { if (isPhoneNumberValid(strInput) == true) { // 穿件一个新的Intent 运行ACTION.CALL的常数与通过uri将字符串带入 Intent myIntentDial = new Intent( "android.intent.action.CALL", Uri.parse("tel:" + strInput)); //在StartActivity()方法里面带入自定义的Intent对象以运行拨打电话的工作 startActivity(myIntentDial); ed_phone.setText(""); }else{ ed_phone.setText(""); Toast.makeText(getApplicationContext(), "输入的电话号码格式不符", Toast.LENGTH_LONG).show(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); } protected boolean isPhoneNumberValid(String phoneNumber) { boolean isValid=false; String expression="^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{5})$"; String expression2="^\\(?(\\d{3})\\)?[- ]?(\\d{4})[- ]?(\\d{4})$"; CharSequence inputStr=phoneNumber; //创建Patten Pattern pattern=Pattern.compile(expression); //将Patten以参数传入Matcher作 Regular expression Matcher matcher=pattern.matcher(inputStr); //创建Patten2 Pattern pattern2=Pattern.compile(expression2); //将Patten2以参数传入Matcher作 Regular expression Matcher matcher2=pattern.matcher(inputStr); if(matcher.matches()||matcher2.matches()){ isValid=true; } // TODO Auto-generated method stub return isValid; } }
定义一个XML
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <EditText android:id="@+id/phone_call" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="请输入电话号码" /> <Button android:id="@+id/call_btn" android:layout_width="140dip" android:layout_height="wrap_content" android:text="拨打电话" /> </LinearLayout>
然后再在EX01_02mainfest.xml里边添加
<uses-permission android:name="android.permission.CALL_PHONE"/>
综上所述就完成了打电话的时候防止出现不是电话号码的情况以便于提醒用户
相关推荐
huha 2020-10-16
xfcyhades 2020-11-20
sgafdsg 2020-11-04
Michael 2020-11-03
fengyeezju 2020-10-14
ziyexiaoxiao 2020-10-14
业余架构师 2020-10-09
OuNuo0 2020-09-29
moses 2020-09-22
Angelia 2020-09-11
qinxu 2020-09-10
刘炳昭 2020-09-10
Nostalgiachild 2020-09-07
Nostalgiachild 2020-08-17
leavesC 2020-08-14
一青年 2020-08-13
AndroidAiStudy 2020-08-07
ydc0 2020-07-30
绿豆饼 2020-07-28