Android開發(fā)之電話撥號器實例詳解
本文實例分析了Android開發(fā)之電話撥號器的用法。分享給大家供大家參考,具體如下:
1、新建一個名為javacallPhone的安卓項目,并在cn.csdn.hr.activity包下建一個CallPhoneActivity.java類
2.打開res下的Layout下的main.xml進行布局,設(shè)置布局方式為水平布局,再從左側(cè)分別拖入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); //設(shè)置顯示的視圖界面 setContentView(R.layout.main); //獲取該布局文件中相應(yīng)的組件 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(); //轉(zhuǎn)換成字符串:editable.toString(); //意圖 Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+editable.toString())); //執(zhí)行 startActivity(intent); } }); } }
4.打開項目清單文件Andriod Manifest.xml,選擇permissions,添加用戶打電話權(quán)限,如下圖:
5、在源代碼中出現(xiàn):
6、最后run as 安卓應(yīng)用,實現(xiàn)撥號功能
補充:android電話撥號器開發(fā)筆記
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); // 設(shè)置button監(jiān)聽器 // 方式二:通過匿名內(nèi)部類 // // button.setOnClickListener(new OnClickListener() { // // @Override // public void onClick(View v) { // // TODO Auto-generated method stub // String number = editex.getText().toString(); // 獲取電話號碼 // Intent intent = new Intent(); // 創(chuàng)建意圖 // intent.setAction(Intent.ACTION_CALL); // 設(shè)置打電話的意圖 // intent.setData(Uri.parse("telphone" + number)); // 撥打的具體號碼 // startActivity(intent);// 激活意圖 // } // }); // button.setOnClickListener(this); // 當(dāng)前的實現(xiàn)這是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); } // // 方式三 實現(xiàn)了,OnClickListener // @Override // public void onClick(View v) { // // TODO Auto-generated method stub // switch (v.getId()) { // case R.id.bt_number: // // 相應(yīng)的按鈕時間 // 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(); // 創(chuàng)建意圖.代表要執(zhí)行的動作 // 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 負責(zé)的頁面是文字
main.xml 負責(zé)頁面的布局以及每個空間的ID
2.java的代碼:
通過ID 獲取button
監(jiān)聽button(參數(shù)view)
3.MyOnCliockListenr
處理事件:
得到EdiText,獲取電話號碼
創(chuàng)建意圖的引用:Intent intrnt = new Intent();
設(shè)置意圖對象的動作setAction()
撥打電話號碼setData()
開啟意圖statAchivate(Intent)
修改安全異常:AndroidMainfest.xml中的permissions-->android.permission.CALL_PHONE
希望本文所述對大家Android程序設(shè)計有所幫助。
相關(guān)文章
Android實現(xiàn)加載時提示“正在加載,請稍后”的方法
在現(xiàn)在的很多應(yīng)用中,當(dāng)在加載的時候,如果頁面動態(tài)數(shù)據(jù)較多,會有很長一段時間的空白頁面,如果加上這個頁面正在加載的提示,使得應(yīng)用更加人性化。這篇文章就給大家分享了在 Android實現(xiàn)加載時提示“正在加載,請稍后”的方法,有需要的朋友們可以參考借鑒。2016-10-10Android自定義Dialog實現(xiàn)通用圓角對話框
這篇文章主要為大家詳細介紹了Android自定義Dialog實現(xiàn)通用圓角對話框,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-11-11一文搞懂Android RecyclerView點擊展開、折疊效果的實現(xiàn)代碼
雖然在日常開發(fā)中已經(jīng)多次接觸過RecycleView,但也只是用到其最基本的功能,并沒有深入研究其他內(nèi)容。接下來將抽出時間去了解RecycleView的相關(guān)內(nèi)容,這篇文章主要是介紹Android RecyclerView點擊展開、折疊效果的實現(xiàn)方式,一起看看吧2021-06-06