上次我們做了一個簡單的hello world,這次我們來寫一個電話撥打系統,其實這個電話撥打並不是真正的自己的程序撥打的電話,而是調用的系統程序而實現的電話撥打。
首先我們建立項目Phone,在項目的aluesàstrings下創建所需要的字符串
<string name="app_name">Phone</string>
<string name="input_info">請輸入號碼</string>
<string name="dial_caotion">撥打</string>
然後在layoutàmain.xml下創建界面
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/input_info" />
<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:id="@+id/dial_btn"
android:text="@string/dial_caotion"
/>
這個程序一共用到了一個輸入框,一個按鈕,那個文本就不再說了。剩下的就是我們的java代碼了。
我們需要在srcàPhoneActvity寫實現代碼,首先我們應該先獲取用戶在輸入框裏輸入的電話號,然後再寫一個監聽內部類,用來監聽按鈕事件,具體實現代碼就是下面這樣
numberEt = (EditText) this.findViewById(R.id.phone_number);
dialBtn = (Button) this.findViewById(R.id.dial_btn);
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);
}
}
});