Android開發之電話撥號器執行個體詳解_Android

來源:互聯網
上載者:User

本文執行個體分析了Android開發之電話撥號器的用法。分享給大家供大家參考,具體如下:

1、建立一個名為javacallPhone的安卓項目,並在cn.csdn.hr.activity包下建一個CallPhoneActivity.java類

2.開啟res下的Layout下的main.xml進行布局,設定布局方式為水平布局,再從左側分別拖入textview,text files下的Phone,和button按鈕,通過new String後效果如下:

3.開啟CallPhoneActivity.java進行編寫,具體代碼如下:

package cn.csdn.hr.activity;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.text.Editable;import android.view.View;import android.widget.Button;import android.widget.EditText;public class CallPhoneActivity extends Activity {  /** Called when the activity is first created. */  @Override  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    //設定顯示的視圖介面    setContentView(R.layout.main);    //擷取該布局檔案中相應的組件    Button callBtn = (Button) findViewById(R.id.callBtn);    //為按鈕註冊點擊事件    callBtn.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {// 撥號//擷取輸入框 可編輯對象EditText editText = (EditText) findViewById(R.id.editCallPhone);//擷取輸入的電話號碼Editable editable = editText.getText();//轉換成字串:editable.toString();//意圖Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+editable.toString()));//執行startActivity(intent);}});}}

4.開啟項目資訊清單檔Andriod Manifest.xml,選擇permissions,添加使用者打電話許可權,如下圖:

5、在原始碼中出現:

複製代碼 代碼如下:
<uses-permission android:name="android.permission.CALL_PHONE"/>

6、最後run as 安卓應用,實現撥號功能

補充:android電話撥號器開發筆記

AndroidActivity:

package itcast.com;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;public class AndroidActivity extends Activity { private EditText editex; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 得到按鈕 Button button = (Button) this.findViewById(R.id.bt_number); editex = (EditText) this.findViewById(R.id.et_number); // 設定button監聽器 // 方式二:通過匿名內部類 // // button.setOnClickListener(new OnClickListener() { // // @Override // public void onClick(View v) { // // TODO Auto-generated method stub // String number = editex.getText().toString(); // 擷取電話號碼 // Intent intent = new Intent(); // 建立意圖 // intent.setAction(Intent.ACTION_CALL); // 設定打電話的意圖 // intent.setData(Uri.parse("telphone" + number)); // 撥打的具體號碼 // startActivity(intent);// 啟用意圖 // } // }); // button.setOnClickListener(this); // 當前的實現這是AndroidActivity } public void btlisten(View v) { String number = editex.getText().toString(); Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse(number)); startActivity(intent); } // // 方式三 實現了,OnClickListener // @Override // public void onClick(View v) { // // TODO Auto-generated method stub // switch (v.getId()) { // case R.id.bt_number: // // 相應的按鈕時間 // String number = editex.getText().toString(); // Intent intent = new Intent(); // intent.setAction(Intent.ACTION_CALL); // intent.setData(Uri.parse(number)); // startActivity(intent); // break; // } // } // 方式一 // class MyOnClickListener implements OnClickListener { // // @Override // public void onClick(View v) { // // TODO Auto-generated method stub // // 擷取文本域 // EditText editext = (EditText) AndroidActivity.this // .findViewById(R.id.et_number); // // 得到電話號碼 // String number = editext.getText().toString(); // Intent intent = new Intent(); // 建立意圖.代表要執行的動作 // intent.setAction(Intent.ACTION_CALL); // 撥打到電話的意圖 // intent.setData(Uri.parse(number));// 撥打的號碼 例如110 // startActivity(intent);// 啟用意圖 // } // }}

mian.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" >  <TextView    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="@string/input_number" />  <EditText    android:id="@+id/et_number"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:hint="@string/print"    android:lines="1"    android:numeric="integer" />  <Button    android:id="@+id/bt_number"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="@string/bt_call"    android:onClick="btlisten"/></LinearLayout>

Strings.xml:

<?xml version="1.0" encoding="utf-8"?><resources>  <string name="hello">Hello World, AndroidActivity!</string>  <string name="app_name">AndroidCall</string>  <string name="input_number">請輸入電話號碼</string>  <string name="print">請輸入號碼</string>  <string name="bt_call">撥打到電話</string></resources>

需求

撥打到電話的程式
 
步驟

1. 設定檔

strings.xml      負責的頁面是文字

main.xml      負責頁面的布局以及每個空間的ID
     
2.java的代碼:

通過ID 擷取button

監聽button(參數view)
    
3.MyOnCliockListenr

處理事件:
得到EdiText,擷取電話號碼
建立意圖的引用:Intent intrnt = new Intent();
設定意圖對象的動作setAction()
撥打到電話號碼setData()
開啟意圖statAchivate(Intent)
修改安全異常:AndroidMainfest.xml中的permissions-->android.permission.CALL_PHONE

希望本文所述對大家Android程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.