編輯:關於android開發
想在APP中添加一個撥號功能該怎樣做呢?Android提供了兩種方式,一種是ACTION_CALL方式直接撥打,另一種是ACTION_DIAL方式打開系統的撥號界面。
下面我們來做個小例子
首先需要在AndroidManifest.xml中添加一個使用權限,這個容易忘哈哈。
<uses-permission android:name="android.permission.CALL_PHONE" />
然後搭一個簡單的界面測試一下,下面是布局文件代碼
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="請輸入要撥打的號碼:" /> <EditText android:id="@+id/etPhone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="phone" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="onClickActionCall" android:text="ACTION_CALL方式直接撥打" /> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="onClickActionDial" android:text="ACTION_DIAL方式打開撥號界面" /> </LinearLayout>
下面是對應的Activity代碼:
package chengyujia.androidtest; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class CallActivity extends Activity { private EditText etPhone; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_call); etPhone = (EditText) findViewById(R.id.etPhone); } // ACTION_CALL方式撥打電話(直接撥打) public void onClickActionCall(View v) { //這裡的Intent.ACTION_CALL實際就是一個特定的字符串, //ACTION_CALL = "android.intent.action.CALL", //告訴系統我要直接撥號了。 call(Intent.ACTION_CALL); } // ACTION_DIAL方式撥打電話(打開撥號界面) public void onClickActionDial(View v) { //同理,這裡的Intent.ACTION_DIAL也是一個特定的字符串 //ACTION_DIAL = "android.intent.action.DIAL" //告訴系統我要打開撥號界面,並把要撥的號顯示在撥號界面上,由用戶決定是否要撥打。 call(Intent.ACTION_DIAL); } private void call(String action){ String phone = etPhone.getText().toString(); if(phone!=null&&phone.trim().length()>0){ //這裡"tel:"+電話號碼 是固定格式,系統一看是以"tel:"開頭的,就知道後面應該是電話號碼。 Intent intent = new Intent(action, Uri.parse("tel:" + phone.trim())); startActivity(intent);//調用上面這個intent實現撥號 }else{ Toast.makeText(this, "電話號碼不能為空", Toast.LENGTH_LONG).show(); } } }
下面運行一下,看看效果。
界面截圖如下:
我填寫了電話號碼10086,下面點擊第一個按鈕“ACTION_CALL方式直接撥打”,
截圖如下:
發現並沒有直接撥出去,而是給了用戶一個提示,讓用戶選擇是否真的要撥號,這也是防止有人作惡啊。科技本應該讓生活更美好,而不是讓生活更糟糕,但不是每個人都這麼想的哦,所以不得不防啊。系統做的對,咱繼續測試,點擊“允許一次”,就開始真正撥號了,截圖如下:
掛了電話,回到剛才的測試界面,點擊第二個按鈕“ACTION_DIAL方式打開撥號界面”,下面是點擊後的截圖:
這就是系統的撥號界面,同時把要撥的號碼也給用戶寫好了,要不要撥就由用戶決定喽。
實際開發中用哪種方式,這個要看具體情況了。好了,關於Android APP 用程序實現撥號功能就寫這些吧。
工作不是生活的全部,最後放一個搞笑的段子,樂呵樂呵
菩提老祖將悟空喚至身前:“你已學會長生不老術和七十二變,今日為師欲傳授你新的法術。” 悟空道:“是何法術?”菩提老祖道:“看到這天上的雲彩了嗎?這邊有七朵雲彩,那邊有五朵雲彩,一共有幾朵?” 悟空答:“十二朵。” 菩提老祖道:“嗯,我要教你的就是雲計算。”
Android 輪換控件,android輪換控件首先是控件輪換 一.創建主布局 1.用到的控件是 TextSwitcher (文本輪換
自定義View——利用下拉刷新組件實現上拉加載 注:本文demo已經提交github,地址完整代碼如下,demo工程已經上傳至GitHub, githu
(轉)Android SlidingTabLayout定制分割線和指示條顏色,android分割線本文轉載與:http://blog.csdn.net/zhangphil
快速索引,索引如下是快速索引的效果圖,是從網上下的實例。如圖實現的難點1:是最右側的索引是用自定義View來實現的,主要通過onDraw的方法將其畫出; 難點2:是如何拿
minSdkVersion maxSdkVersion targetSd