前言:一個按鈕是將號碼傳遞過去等待撥號,另一個是打開撥號器。
先獲取權限:
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission> //獲得權限
主要實現的代碼:
public class MainActivity extends ActionBarActivity {
private EditText editText1=null;//聲明
private Button button1=null;//聲明
private Button button2=null;//聲明
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText1 = (EditText) this.findViewById(R.id.editText1);//獲取EditText
button1= (Button) this.findViewById(R.id.button1);//獲取Button
button2= (Button) this.findViewById(R.id.button2);
button1.setOnClickListener(new View.OnClickListener() {//button1的點擊事件
@Override
public void onClick(View v) {
call();//call方法 調用啓動一個撥號器
}
});
button2.setOnClickListener(new View.OnClickListener() {//button2的點擊事件
@Override
public void onClick(View v) {
dial();//dial方法 調用直接撥號方法
}
});
}
方法內容:
private void dial() {
String data="tel:"+editText1.getText();//電話號碼參數字符串
Uri uri=Uri.parse(data);//將字符串轉化爲Uri實例
Intent intent =new Intent();//實例化Intent
intent.setAction(Intent.ACTION_DIAL);//設置Intent的Action屬性
intent.setData(uri);//設置Intent的data屬性
startActivity(intent);//啓動Activity
}
private void call() {
String data="tel:"+editText1.getText();//電話號碼參數字符串
Uri uri=Uri.parse(data);//將字符串轉化爲Uri實例
Intent intent =new Intent();//實例化Intent
intent.setAction(Intent.ACTION_DIAL);//設置Intent的Action屬性
intent.setData(uri);//設置Intent的data屬性
startActivity(intent);//啓動Activity
}