android-基礎知識:實現簡單的撥打到電話功能_intent_study

來源:互聯網
上載者:User

  通過撥打到電話案例學習 intent 的使用方法. 

  由於是小程式,所以採用 UI介面-> Activity->業務層 自上而下的順序來編寫代碼.

  由於要用到系統功能,要在AndroidMainfest.xml 加入 <uses-permission android:name="android.permisson.CALL_PHONE" />

  1.介面設計 res/layout/main.xml

    

    main.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/textMobileString"/>
<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content" android:hint="@string/edtMobileNumString"
android:id="@+id/edtMobileNum"/>

<Button android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/btnCall"
android:text="@string/btnCallString"/>
</LinearLayout>

 

  2.res/values/strings.xml 加入字串變數

    

    strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, PhoneCallActivity!</string>
<string name="app_name">PhoneCall</string>
<string name="textMobileString">請輸入你要撥打的電話號碼:</string>
<string name="edtMobileNumString">請輸入號碼...</string>
<string name="btnCallString">撥打</string>
</resources>

 

  3.Activity 的編寫

   

    PhoneCallActivity.java

package com.PhoneCall.melody;

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 PhoneCallActivity extends Activity implements OnClickListener {
private EditText editText = null; // 號碼編輯控制項
private Button btnCall = null; // 撥打按鍵
private String mobileNum = null; // 號碼變數

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.main);

/**
* 擷取控制項
*/
editText = (EditText) this.findViewById(R.id.edtMobileNum);
btnCall = (Button) this.findViewById(R.id.btnCall);

mobileNum = editText.getText().toString(); // 擷取號碼
btnCall.setOnClickListener(this); // 設定監聽事件
}

@Override
public void onClick(View v) {
switch (v.getId()) {
/**
* 實現撥打到電話
*/
case R.id.btnCall:
/**
* Intent.ACTION_CALL --通知系統該intent(意圖)的動作
* Uri.parse("tel:" +mobileNum ) Uri 為統一資源識別項, tel 通知系統 後面接的為電話號碼
*/
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"
+ mobileNum));
PhoneCallActivity.this.startActivity(intent);
break;
default:
break;
}
}

}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.