電話撥號器
實現原理:用戶輸入電話號碼,當點擊撥打的時候,由監聽對象捕獲,監聽對象通過文本控件獲取到用戶輸入的電話號碼,由於系統已經實現了電話撥號功能,所以我們只需要調用這個功能就可以了。
步驟:
1.界面布局
2.編寫Activity
3.使用意圖過濾器激活電話撥號功能
4.添加電話服務權限(用手機的電話服務,要在清單文件AndroidManifest.xml中添加電話服務權限)
如圖所示這三個控件是垂直擺放的,所以要使用線性布局來擱置顯示控件
效果圖:
界面布局:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <!--提示信息-->
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/Mobile"
- />
- <!--文本框按鈕-->
- <EditText
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:id="@+id/moblie"
- />
- <!--撥號按鈕 -->
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/button"
- android:id="@+id/button"
- />
- </LinearLayout>
Activity:
- package cn.test.phone;
-
- import android.app.Activity;
- import android.content.Intent;
- import android.net.Uri;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
-
- public class MainActivity extends Activity {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- //根據控件的id查找到按鈕控件
- Button button =(Button)this.findViewById(R.id.button);
- button.setOnClickListener(new ButtonClickLister()); //點擊事件的處理對象
- }
- //監聽對象實現撥打功能
- private class ButtonClickLister implements View.OnClickListener{
- public void onClick(View v){
- EditText mobileText=(EditText)findViewById(R.id.moblie);
- String moblie=mobileText.getText().toString(); //獲取到用戶輸入的時間
- Intent intent =new Intent();
- intent.setAction("android.intent.action.CALL");
- intent.setData(Uri.parse("tel:"+moblie));
- //根據意圖過濾器參數激活電話撥號功能
- startActivity(intent);
- }
- }
- }
添加電話服務權限:
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="cn.itcast.action"
- android:versionCode="1"
- android:versionName="1.0">
- 略....
- <uses-sdk android:minSdkVersion=“6" />
- <!-- 電話服務權限 -->
- <uses-permission android:name="android.permission.CALL_PHONE"/>
- </manifest>